화살표 함수와 this 캡처
화살표 함수는 짧게 쓰는 함수 문법이 아니라 자신만의 this를 만들지 않고 바깥 lexical scope의 this를 그대로 쓴다.
| 상황 | 결과 | 좋은 패턴 | 위험 패턴 |
|---|---|---|---|
| Class callback | 인스턴스 this 유지 | field arrow handler | 불필요한 bind 반복 |
| Array callback | this보다 값 변환이 핵심 | map/filter arrow | 복잡한 side effect 숨김 |
| Object literal | 객체가 this가 되지 않음 | 일반 method syntax 사용 | arrow method로 this undefined |
| DOM listener | 바깥 this 유지 | event.currentTarget 사용 | this가 DOM일 거라 기대 |
| Nested function | 바깥 문맥 보존 | 짧은 내부 콜백 | 어느 this인지 추적 불가 |
화살표 함수의 장점은 this를 고정하는 것이 아니라 바깥 문맥을 그대로 따라가게 하는 데 있다.