← Back to NOTES 🌰 ← Back to Effective TypeScript

← 아이템 48 - API 주석에 TSDoc 사용하기

핵심 요약

this의 사용법 및 특성을 기억하고, 콜백 함수에서 this를 꼭 사용해야 한다면, 반드시 타입 선언에 포함해야 한다. 콜백 함수 매개변수에 this를 추가하면 this 바인딩이 체크되어 실수 방지에 용이하다.

자세한 내용

JavaScript의 this

혼란스러운 기능: JavaScript에서 this 키워드는 매우 혼란스러운 기능

Lexical Scope vs Dynamic Scope:

this의 일반적인 사용

전형적인 사용법: this는 객체의 현재 인스턴스를 참조하기 위해 사용됨

this 바인딩 문제

두 가지 작업: 메서드 호출(obj.method())은 실제로 두 가지 작업을 수행:

  1. 프로토타입의 메서드를 호출
  2. this의 값을 객체로 바인딩

문제 상황: 외부 변수에 담은 후 호출하면 오류 발생

원인: this 바인딩이 되지 않아 undefined로 설정됨

명시적 this 바인딩