오늘 공부를 통해 알게 된 사실 하나,
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
이 존재하지도 않기 때문에 부모 함수 및 글로벌 데이터 외에 접근도 어려운 편 입니다.
독학하여 얻은 지식을 바탕으로 만든 노트 입니다.
잘못된 정보가 표기되어 있을 수 있습니다.
올바른 정보를 댓글에 남겨주시면 저에게 큰 도움이 됩니다.