this binding

this 바인딩 안전 선택표

함수를 값으로 넘기는 순간 호출 주체가 사라질 수 있습니다. 호출 형태와 보존 전략을 같이 확인합니다.

먼저 확인할 것

object

점 앞 객체가 있나

user.say()처럼 호출되면 this는 점 앞의 객체입니다.

plain

함수만 분리됐나

const fn = user.say 뒤 호출하면 일반 함수 규칙으로 바뀝니다.

callback

나중에 호출되나

이벤트, 타이머, 배열 처리에서는 호출 주체가 라이브러리로 넘어갑니다.

method

객체 메서드

객체를 통해 직접 호출하고, 메서드 내부에서 필요한 상태를 읽습니다.

bind

분리 전달

콜백으로 넘길 함수는 bindthis를 고정하거나 래퍼를 둡니다.

arrow

상위 this 사용

내부 콜백이 바깥 메서드의 this를 써야 하면 화살표 함수를 고려합니다.

avoid

화살표 메서드 한계

객체 리터럴 메서드 자체를 화살표로 쓰면 객체가 this가 되지 않습니다.