화살표 함수
바로 코드부터 보자.
let func = (arg1, arg2, ...argN) => expression
이렇게 코드를 작성하면 인자 arg1..argN를 받는 함수 func이 만들어진다. 함수 func는 화살표(=>) 우측의 표현식(expression)을 평가하고, 평가 결과를 반환한다.
아래 함수의 축약 버전이라고 할 수 있다.
let func = function(arg1, arg2, ...argN) {
return expression;
};
좀더 예를 들어보면
let sum = (a, b) => a + b;
/* 위 화살표 함수는 아래 함수의 축약 버전입니다.
let sum = function(a, b) {
return a + b;
};
*/
alert( sum(1, 2) ); // 3
이런 식으로 인자와 반환되는 결과를 작성하면 된다.
let sayHi = () => alert("안녕하세요!");
sayHi();
이렇게 인자가 아예 없을 수도 있다.
중괄호를 열고 여러줄을 입력했다면
let sum = (a, b) => { // 중괄호는 본문 여러 줄로 구성되어 있음을 알려줍니다.
let result = a + b;
return result; // 중괄호를 사용했다면, return 지시자로 결괏값을 반환해주어야 합니다.
};
alert( sum(1, 2) ); // 3
요약
화살표 함수는 본문이 한 줄인 함수를 작성할 때 유용하다. 본문이 한 줄이 아니라면 다른 방법으로 화살표 함수를 작성해야 한다.
- 중괄호 없이 작성: (...args) => expression – 화살표 오른쪽에 표현식을 둔다. 함수는 이 표현식을 평가하고, 평가 결과를 반환한다.
- 중괄호와 함께 작성: (...args) => { body } – 본문이 여러 줄로 구성되었다면 중괄호를 사용해야 한다. 다만, 이 경우는 반드시 return 지시자를 사용해 반환 값을 명기해 주어야 한다.
'WEB > JavaScript' 카테고리의 다른 글
[JS ES6+] spread 연산자 (0) | 2021.03.29 |
---|---|
[JS ES6+] destructuring(구조 분해 할당) (0) | 2021.03.29 |
[JS] this란 무엇일까 (0) | 2021.03.24 |
[JS] 클로저가 무엇일까? (0) | 2021.03.23 |
[JS] 함수 스코프(Scope)에 대해 좀 더 알아보자 (0) | 2021.03.23 |