this 점검

함수 문법보다 this의 출처 우선 결정

화살표 함수와 일반 함수의 차이는 짧고 길고가 아니라 `this`가 선언 위치를 따르는지, 호출 주체를 따르는지에 있습니다.

Lexical this

바깥 this를 유지해야 한다

콜백, 타이머, Promise, 배열 메서드처럼 주변 문맥의 `this`를 그대로 쓰려면 화살표 함수가 자연스럽습니다.

Dynamic this

호출한 대상이 중요하다

객체 메서드, 생성자, 이벤트 핸들러처럼 실행 시점의 호출 주체가 의미를 만들면 일반 함수가 안전합니다.

배열 변환

`map`과 `filter`는 짧은 화살표 함수로 값의 변환 의도를 드러냅니다.

객체 메서드

`this.name`처럼 객체 자신을 읽어야 하면 메서드 축약형이나 일반 함수를 씁니다.

DOM 이벤트

이벤트 대상의 `this`가 필요하면 일반 함수로 호출 주체를 보존합니다.

생성 흐름

`new`로 인스턴스를 만들거나 `prototype`을 써야 하면 화살표 함수는 맞지 않습니다.