@Arrow Function은 this 값을 물려받는다
바깥에 있는 this 값을 내부에서 그대로 사용
this에 대해서 판단 할 때...
this 값을 판단 할 때
1. 가장 가까이(안과 밖)있는 함수를 체크하자.
2. this의 값은 누가 호출하는지
3. this를 담고 있는 함수(주인장)가 누구인지 판별하자.
var obj = {
arr : ['김', '이', '박'];
함수 : function(){
// this에서 가장 가까운 함수는 누겨??
obj.arr.forEach(function(){<- this의 가장 가까이 있는 함수임
console.log(this)
});
}
}
▶ forEach인 콜백함수가 가장 가까이 있잖슴 그러므로 window객체가 this여라
var obj = {
함수: function () {
console.log(this);
},
};
// obj의메소드인 '함수'를 otherObj에 할당
var otherObj = obj.함수;
otherObj();// this는 무엇일까요?
▶ {window}객체 여라
Why
"3. this를 담고 있는 함수(주인장)가 누구인지 판별하자." 라는 위의 내용을 토대로
var otherObj는 일반 함수가 된다. 따라서...
일반 함수의 this,의 주인은 { window } 객체 이다.