본문 바로가기

Programming/TIL

Arrow Function

Arrow Function / 화살표 함수

ES6에서 새로 도입한 화살표 함수(arrow function)와 일반 함수를 비교해보자.

보통 함수 표현식을 축약한 형태로 표시된다.

 

원래의 함수 표현식 :

const add = function (x, y) {
  return x + y
}

화살표 함수 사용 :

const add = (x, y) => {
  return x + y
}

* function 키워드를 화살표로 축약 가능하다.

* () 소괄호(parentheses)를 사용하는 것은 가능

* 함수의 본문(body)에 return 문만 있는 경우, 화살표 함수는 return을 생략 가능하다.

이 때 주의해야 할 점은 {} 중괄호(curly brace)사용하면 안 된다.

 

const add = (x, y) => x + y
const add = (x, y) => (x + y)   // O, 정상 작동
const add = (x, y) => { x + y } // X, undefined 리턴 

 

그리고, 화살표 함수는 클로저를 표현하기 유용하다.

 

예시로, 아래와 같은 함수 표현식이 있다.

const adder = function(x) {
  return function(y) {
    return x + y
  }
}
adder(5)(7) // 12

이를 화살표 함수로 아래와 같이 바꿀 수 있다.

const adder = x => y => x + y

그러나 화살표 함수는 다음과 같은 주의해야할 특징들이 있다.

* call, apply, bind를 사용할 수 없다.

* 화살표 함수의 실행은 this를 결정짓지 않는다.


 

'Programming > TIL' 카테고리의 다른 글

.call & .apply Methods  (0) 2020.12.01
[this] Keyword  (0) 2020.12.01
Node.js Related Tools  (0) 2020.11.30
API [Application Programming Interface]  (0) 2020.11.30
비동기 호출 Asynchronous  (0) 2020.11.17