작성한 질문수
코어 자바스크립트
작성
·
169
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();
var obj = {
a: 20,
b: function() {
var c = function() {
console.log(this.a);
}
c.bind(this);
c();
obj.b();
답변 1
호출할때 함수로 호출했기 때문에 그렇습니다. 함수는 this를 바인딩하지 않아 여전히 전역객체를 바라보게 되어있습니다.