• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

var self = this 를 bind 메소드로 바꿔보는 도중에 궁금한 것이 있습니다.

18.10.27 18:13 작성 조회수 116

0

강의에서 var self = this를 bind함수로 대신 할 수 있다 하셔서 앞선 예제에 적용을 해봤는데 아래의 코드에서 왜 출력이 10이되는지 잘 모르겠습니다ㅠㅠ

var a = 10;

var obj = {

a: 20,

b: function() {

var c = function() {

console.log(this.a);

}

c.bind(this);

c();

}

}

obj.b();

답변 1

답변을 작성해보세요.

0

호출할때 함수로 호출했기 때문에 그렇습니다. 함수는 this를 바인딩하지 않아 여전히 전역객체를 바라보게 되어있습니다.