본문 바로가기

Javascript

Javascript: arrow function

728x90
반응형

Javascript에서 일반적으로 function으로 선언하는 대신 = () => 과 같은식으로 함수를 대체하는 방식이 있다.

 

함수를 표현하는 방식을 이렇게 쓰면 어떤 차이가 있을까?

- 함수 인자 갯수가 하나면 () 생략 가능

- 한줄 표현 가능하면 중괄호, return 생략 가능

 

위와 같이 생략 가능하고 간략하게 표현이 가능하다.

 

그런데 사실 arrow function이 갖는 의미는 생략 기능보다는

함수 내에서의 this의 의미가, 기존 함수 선언 방식과 다르다는 것이다.

 

기존 function에서는 this가 function마다 새롭게 정의가 된다. function을 갖는 object를 가르키는 등..

그런데 arrow function은, arrow function 밖에서 사용하는 this를 그대로 가져와서 쓴다.

 즉, arrow function에서 this가 새로운 의미를 갖는 것이 아니라 외부에 있는 this를 가져온다.

 

사용하는 방식에 따라 편하게 사용할 수 있을 것이고, 단, 의미가 유동적으로 변하니 주의해서 써야할 듯 싶다.

 

참고자료: 

https://codingapple.com/unit/es6-3-arrow-function-why/

 

728x90
반응형