
오늘 공부를 통해 알게 된 사실 하나,
javascript 좀 써봤다면 흔히 사용하는 arrow-function 조심 해야할 부분이 있다.
간단하고 쓰기 편한 arrow-function도 그냥 쓸 수는 없는 법!
일반 function과 다른 arrow-function 의 3가지 자세히 짚어보기!!!
arrow-function에는arguments가 존재하지 않습니다.
arrow-function는 컴파일링 시 arguments를 바인딩하지 않습니다.
arguments가 필요한 경우 가장 근접한 일반 부모 함수에 의존하여 접근하는 것은 가능합니다.
arrow-function이 나타내는this값은 조금 다릅니다.
이벤트 내에서 일반적으로 this의 값은 해당 이벤트를 실행하는 element를 나타내곤 합니다. 하지만 arrow-function에서 this를 사용하면 기본적으로 웹의 최상단 값인 window를 갖게 됩니다.
물론 .bind 등을 이용해 손쉽게 수정은 가능합니다만 function을 통해 쉽게 해결할 수 있는 일을 굳이 어렵게 쓸 필요는 없겠죠 😄😄
arrow-function은new를 통해 재생산 할 수 없습니다.
arrow-function은 선언을 통해 작성하는 코드가 아닙니다.
다시 말하자면 constructor-function 혹은 class로도 사용할 수 없습니다.
property 및 prototype이 존재하지도 않기 때문에 부모 함수 및 글로벌 데이터 외에 접근도 어려운 편 입니다.
독학하여 얻은 지식을 바탕으로 만든 노트 입니다.
잘못된 정보가 표기되어 있을 수 있습니다.
올바른 정보를 댓글에 남겨주시면 저에게 큰 도움이 됩니다.