728x90
- 메서드가 자신이 속한 객체의 프로퍼티를 참조하려면 자신이 속한 객체를 가리키는 식별자를 참조해야 함
- 자신이 속한 객체, 자신이 생성할 인스턴스 --> 자기 참조 변수
- 자바스크립트 엔진이 암묵적으로 생성
함수 호출 방식, this 바인딩
- this 바인딩은 함수 호출 방식에 따라 동적으로 결정됨
- 일반 함수 호출
- 기본적으로 전역 객체에 바인딩됨
- 일반 함수로 호출된 모든 함수 내부에서 this는 전역 객체
- 메서드 호출
- 메서드를 호출한 객체가 바인딩됨
- 메서드는 객체에 포함된 것이 아닌, 독립적인 존재(별도의 객체)
- 따라서, this에 바인딩될 객체는 호출 시점에 결정됨
- 생성자 함수 호출
- 생성자 함수가 생성할 인스턴스가 바인딩 됨
Function.prototype.apply/call/bind
에 의한 간접 호출- 이들 메서드에 첫번째 인수로 전달한 객체가 바인딩됨
학습 도서
- '모던 자바스크립트 Deep Dive', 이웅모 저, 위키북스
'Language | Basic > JavaScript' 카테고리의 다른 글
[JavaScript 스터디] 클로저 (0) | 2021.02.01 |
---|---|
[JavaScript 스터디] 실행 컨텍스트 (0) | 2021.02.01 |
[JavaScript 스터디] 빌트인 객체 (0) | 2021.01.31 |
[JavaScript 스터디] strict mode (0) | 2021.01.30 |
[JavaScript 스터디] 프로토타입 (0) | 2021.01.30 |