더북(TheBook)

3.7.4 호출자가 이 값을 제어해야 할 때 화살표 함수를 사용하지 말라

과거 습관: 호출자가 이것이 무엇인지 제어하는 것이 중요한 콜백으로 전통적인 함수를 사용한다.

새로운 습관: 음… 계속 그렇게 하자.

때로는 호출자가 이것이 무엇인지 설정하는 것이 중요하다. 예를 들어, jQuery를 사용하는 브라우저 코드에서 jQuery가 콜백에서 이것이 무엇인지 제어하기를 원한다. 또는 콜백을 호출할 때 요소를 참조하도록 this를 설정해서(대신 이벤트 객체의 currentTarget 속성을 사용할 수 있다) addEventListener로 연결한 DOM 이벤트에 응답할 때도 마찬가지다. 그리고 호출될 때 this를 설정하도록 허용하는 것이 중요해서 객체 간에 공유되는 객체 메서드를 정의할 때(예를 들면 프로토타입에 있기 때문에)도 마찬가지다.

따라서 화살표 함수로 전환하는 것이 어떤 경우에는 유용하지만 때로는 오래된 전통적인 함수 (또는 4장과 5장에서 배울 메서드 구문)가 원하는 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.