먼저, 일반 함수를 만드는 방법은 두 가지가 있다. 첫번째는 다음과 같다.
function 함수(){
// 로직 작성
}
함수(); // 함수 호출
두번째는 다음과 같다.
let 함수 = function(){
// 로직 작성
}
함수(); // 함수 호출
ES6에서 추가된 화살표 함수(arrow function)
가 있다. 화살표 함수는 function
키워드 대신 화살표(=>)
를 사용하여 보다 간략한 방법으로 함수를 선언할 수 있다. 화살표 함수 만드는 방법은 다음과 같다.
let 함수 = () => {
// 로직 작성
}
함수(); // 함수 호출
자세한 문법은 다음과 같다.
// 매개변수 지정 방법
() => { ... } // 매개변수가 없을 경우
x => { ... } // 매개변수가 한 개인 경우, 소괄호를 생략할 수 있다.
(x, y) => { ... } // 매개변수가 여러 개인 경우, 소괄호를 생략할 수 없다.
// 함수 몸체 지정 방법
x => { return x * x } // single line block
x => x * x // 함수 몸체가 한줄의 구문이라면 중괄호를 생략할 수 있으며 암묵적으로 return된다. 위 표현과 동일하다.
() => { return { a: 1 }; }
() => ({ a: 1 }) // 위 표현과 동일하다. 객체 반환시 소괄호를 사용한다.
() => { // multi line block.
const x = 10;
return x * x;
};