Web Basic · Functions

화살표 함수 this를 호출 방식과 분리하기

화살표 함수는 짧은 문법이 아니라, 자신만의 this를 만들지 않고 정의된 위치의 this를 그대로 사용하는 함수 표현식이다.

01

receiver 확인

함수 안 this가 호출한 객체를 가리켜야 하는지 먼저 판단한다.

02

정의 위치

화살표 함수는 만들어진 scope의 this를 캡처한다.

03

반환 형태

표현식 본문은 자동 반환, 블록 본문은 return이 필요하다.

04

메서드 선택

객체 메서드와 생성자 역할에는 일반 함수가 더 적절하다.

map/filter
짧은 콜백 입력 값을 다른 값으로 바꾸는 순수 콜백에 잘 맞음
복잡하면 이름 붙인 함수
setTimeout
바깥 this 유지 class나 객체 문맥을 콜백에서 유지할 때 사용
대체로 bind보다 간결
object method
동적 this 필요 obj.method()의 obj를 this로 써야 하면 일반 메서드
화살표 금지 후보
new
생성자 불가 화살표 함수는 prototype과 constructor 용도가 아님
TypeError

this 의미 · return · 메서드 점검

this 의미 함수 내부 this가 어디서 오는지 설명할 수 있다.
return 블록 본문에서 반환 누락이 없다.
메서드 객체 동작을 화살표 property로 잘못 정의하지 않는다.
가독성 긴 비즈니스 로직을 한 줄 화살표에 밀어 넣지 않는다.