Language | Basic/JavaScript

[JavaScript 스터디] this

주정용 2021. 2. 1. 14:38
728x90
  • 메서드가 자신이 속한 객체의 프로퍼티를 참조하려면 자신이 속한 객체를 가리키는 식별자를 참조해야 함
  • 자신이 속한 객체, 자신이 생성할 인스턴스 --> 자기 참조 변수
  • 자바스크립트 엔진이 암묵적으로 생성

함수 호출 방식, this 바인딩

  • this 바인딩은 함수 호출 방식에 따라 동적으로 결정됨
  • 일반 함수 호출
    • 기본적으로 전역 객체에 바인딩됨
    • 일반 함수로 호출된 모든 함수 내부에서 this는 전역 객체
  • 메서드 호출
    • 메서드를 호출한 객체가 바인딩됨
    • 메서드는 객체에 포함된 것이 아닌, 독립적인 존재(별도의 객체)
    • 따라서, this에 바인딩될 객체는 호출 시점에 결정됨
  • 생성자 함수 호출
    • 생성자 함수가 생성할 인스턴스가 바인딩 됨
  • Function.prototype.apply/call/bind에 의한 간접 호출
    • 이들 메서드에 첫번째 인수로 전달한 객체가 바인딩됨

학습 도서

  • '모던 자바스크립트 Deep Dive', 이웅모 저, 위키북스

[www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&linkClass=3314&barcode=9791158392239](www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&linkClass=3314&barcode=9791158392239)