함수

서민수·2023년 8월 27일
0

자바스크립트

목록 보기
15/25
post-thumbnail

함수

  • 함수는 다수의 명령문을 코드 블록으로 감싸고, 하나의 실행 단위로 만든 코드의 집합
  • 유사한 동작을 하는 코드를 하나로 묶어, 범용성을 확대시킨 블록 코드
  • 함수는 정의부분과 호출 부분으로 구성
  • 함수는 가급적 한가지 일만 하며, 매개 변수는 최대 3개 이내로 작성을 권함

함수 정의

  • 함수 선언식(Function Declarations)
/*
function func(arg1, arg2, .....argN){
	expression;
}
*/
function add(x, y) {
  return x + y;
}
  • 함수 표현식(Function Expressions)
/*
const func = function (arg1, arg2, .....argN){
	expression;
}
*/
const add = function (x, y) {
  return x + y;
}
  • 화살표 함수(Arrow Function)
/*
const func = (arg1, arg2, ....argN) => expression;
*/
const func = (x,y) => x+ y;

함수 호출

  • 자바스크립트 함수는 매개변수와 인수의 개수가 일치하는지 확인하지 않는다.
  • ES6에서 도입된 기본값을 통해 undefined 변수가 들어올 경우 값 초기화 지정 가능
  • 함수의 이름은 어떤 기능을 하는지 유추할 수 있도록 제작하는게 코드리뷰에 용이함
// 1. default value 
function print_add(x, y = 10){
	console.log( x + y ); // x와 y를 더해주고 콘솔로 출력하게 해주는 함수
} 
print_add(10, 20, 30) // output: 30 x와 y 이후에 값은 넘어오게 되지만 핸들링을 하지 않아 무시
print_add(10, 20); //output: 30
print_add(10); // output: 20 y값이 없기에 기본값이 10으로 설정되어 20이 출력
print_add(); // output: NaN  x와 y에 값이 없으면 undifined가 들어가게 되어 NaN만 출력


// 2. dynamic parameters
function print_min(){
	// console.log(arguments);
  console.log(arguments[0] - arguments[1]); // arguments라는 내부변수 사용
}
print_min(10, 20); // output : -10

함수 반환

  • return 후 코드는 수행되지 않으며, default return value는 undefined
function add(x,y){
	return x + y // x + y를 더해주는 함수 return은 break와도 같은 역할을 한다
  console.log("hello"); // return으로 인해  미 수행 코드
}

function dummy(){}

function checkAge(age){
	if (age >= 18){
    	retrun true;
    }else{
    	retrun false;	
    }
}

console.log(add(10, 20)); // output : 30
console.log(dummy()); // output: undefined
console.log(checkAge(14)); // output: false
console.log(checkAge(20)); // output: true
profile
안녕하세요

0개의 댓글