• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

this 바인딩 질문드립니다~

20.11.05 22:47 작성 조회수 122

0

안녕하세요.

수업과 관련된 질문은 아니지만 this 바인딩이 좀 햇갈려서 질문드립니다.

아래와 같은 코드가 있다고 했을 때, myObj.runFunc 메소드에 매개 함수 func의 내부 코드에서는 절대 myObj.data 프로퍼티에 접근할 수 없는 건가요? 혹시 접근할 수 있는 방법이 존재하나요?

const myObj = {

    data : 200,

    runFunc : function(func){

        func();

    }

};

myObj.runFunc(function() { console.log(this.data) });

답변 1

답변을 작성해보세요.

0

이승택님의 프로필

이승택

2020.11.14

인자로 전달 되는 함수에 this를 myObj 객체로 바인딩하면 하면 되지 않을까요?

예를들어

const callbackFunc = function() { console.log(this.data) }.bind(myObj);

myObj.runFunc(callbackFunc);

또는

myObj.runFunc(function() { console.log(this.data) }.bind(myObj));