ES6에서 새로 나온 표현 방법이다.
함수 표현식을 축약한 형태이다.
한번에 바꾸려하면 헷갈릴 수 있으니 단계별로 접근해보자.
함수 표현식에서 function을 생략하고 화살표로 대신할 수 있다.
let foo = function (a,b){
return a+b;
} // 일반 함수 표현식
let foo = (a,b)=> {
return a+b;
} // 화살표 함수
함수의 중괄호에 return 문만 있다면 return을 생략할 수 있다.
중괄호도 함께 없어진다.
let foo = (a,b) => {
return a + b;
} // function 만 생략되어 있는 화살표 함수
let foo = (a,b) => a + b // return 생략한 화살표 함수
let foo = (a,b) => ( a + b ) // 소괄호는 사용 가능하다.
클로저 화살표 함수 표현 방법
파라미터가 한개라면 소괄호도 생략 가능하다.
let foo = function(a){
return function(b){
return a+b;
}
} // 함수표현식 클로저
let foo = a => b => a+b