일반 함수
obj.fn()은 obj, fn() 단독 호출은 strict mode에서 undefined가 된다.
this는 함수가 어디에 쓰였는지보다 어떻게 호출됐는지로 정해진다. 다만 화살표 함수는 lexical this를 캡처해 call-site 규칙을 따르지 않는다.
obj.fn()은 obj, fn() 단독 호출은 strict mode에서 undefined가 된다.
자신만의 this가 없어 주변 scope의 this를 그대로 닫아 둔다.
setTimeout, map callback에서 클래스 인스턴스 this를 잃지 않을 때 쓴다.
bind, call, apply로 this를 바꿔야 하면 화살표 함수는 맞지 않는다.
이벤트 핸들러를 객체에서 분리해 전달하면 this가 끊길 수 있다. 필요한 경우 bind로 고정하거나, 콜백 내부만 화살표 함수로 작성한다.