인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

khkh46315315's profile image
khkh46315315

asked

ES6 course for modern javascript development

This context of Arrow function

this 바인딩 질문드립니다~

Written on

·

217

0

안녕하세요.

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

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

const myObj = {

    data : 200,

    runFunc : function(func){

        func();

    }

};

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

javascriptes6

Answer 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));

khkh46315315's profile image
khkh46315315

asked

Ask a question