인프런 커뮤니티 질문&답변

뉴우비님의 프로필 이미지
뉴우비

작성한 질문수

모던 자바스크립트(javascript) 개발을 위한 ES6 강좌

Arrow function 의 this context

this 바인딩 질문드립니다~

작성

·

188

0

안녕하세요.

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

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

const myObj = {

    data : 200,

    runFunc : function(func){

        func();

    }

};

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

답변 1

0

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

예를들어

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

myObj.runFunc(callbackFunc);

또는

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

뉴우비님의 프로필 이미지
뉴우비

작성한 질문수

질문하기