• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

this binding 논리 질문입니다.

21.10.01 14:34 작성 조회수 145

0

강의를 듣다가 제가 제대로 이해한것인지 의심이 들어서 질문드려봅니다!

(1) 실행 context는 선언시점에 결정된다고 알고 있는데요. 그럼 this binding도 마찬가지로 선언시점에 결정되고 실행시점에 참조만 교체되는 논리인가요? 

(2) prototype method 의 경우 어떤식으로 this가 binding되나요? 만약 (1)의 논리가 맞다면 프로토 타입에 메소드가 선언될 때, this binding이 일어나야 할 것 같은데, 실제로 프로토타입을 부르는 객체가 결정되기 전까지는  this 에 대한 정보가 없지 않을까요?

 

좋은 강의 감사합니다 (_ _)

답변 1

답변을 작성해보세요.

0

(1) 실행 context는 선언시점에 결정된다고 알고 있는데요. 그럼 this binding도 마찬가지로 선언시점에 결정되고 실행시점에 참조만 교체되는 논리인가요? 
==> this 바인딩은 실행 콘텍스트 안의 처리이며, 함수를 호출하면 그때 실행 콘텍스트를 만들고 그 안의 처리를 실행합니다.

(2) prototype method 의 경우 어떤식으로 this가 binding되나요? 만약 (1)의 논리가 맞다면 프로토 타입에 메소드가 선언될 때, this binding이 일어나야 할 것 같은데, 실제로 프로토타입을 부르는 객체가 결정되기 전까지는  this 에 대한 정보가 없지 않을까요?
==> 기본적으로 this는 함수 앞에 작성한 오브젝트를 참조합니다. abc.get()에서 abc를 get()에서 this로 참조합니다. 환경에 따라 다른 경우도 있지만 이것이 기본입니다.