자바스크립트 화살표 함수(arrow function)
자바스크립트 함수 표현을 단순하고, 간결한 문법으로 할 수 있다.
화살표 함수(arrow function)라는 것인데,
let func = (arg1, arg2, ...argN) => expression
이렇게 코드를 작성하면 인자 arg1,arg2,arg3...를 받는 함수 func가 만들어진다. 함수 func는 화살표 =>
우측의 표현식을 평가하고, 평가 결과를 반환한다.
let func = function(arg1,arg2,...argN){
return expression;
}
이 함수의 축약 버전이라고 볼 수 있다.
구체적인 예를 살펴보자.
let sum = (a,b) => a+b;
이렇게 두 수의 합을 계산하는 함수는
let sum(a,b){
return a+b;
}
이 함수의 축약 버전이라고 볼 수 있다.
alert(sum(1,2)); // 3
(a,b)=>a+b가 실행되는 순간, 표현식 a+b를 평가하고, 결과를 반환한다.
-인수가 하나밖에 없다면, 인수를 감싸는 괄호를 생략 할 수 있다. 괄호를 생략하면 코드 길이를 더 줄일 수 있다.
ex)
let double = n => n*2;
let double = function(n){
return n*2;
}
-인수가 하나도 없다면, 괄호를 비워두면 된다. 다만 이떄, 괄호는 생략할 수 없다.
let hello = () =>alert("안녕하세요");
본문이 여러줄인 화살표 함수
평가해야 할 표현식이나 구문이 여러 개인 함수가 있을 수 있다.이 경우 중괄호 안에 평가해야 할 코드를 넣어준다. 그리고 return을 이용해 명시적으로 결과값을 반환해 주어야 한다.
let sum(a,b) => {
let result = a+b;
return result;
}
alert(sum(1,2)) //3