작성
·
428
답변 1
0
안녕하세요 태현님~!
우선 화살표 함수의 this는 상위 스코프의 this를 승계 받습니다.
설명보다 코드로 함께 설명드리면 아래와 같습니다.
const test = {
name : 'test1',
foo : {
bar : ()=> {
// 상위 스코프(전역)의 this인 window
console.log(this)
},
},
hello: function() {
/**
* 자바스크립트에서의 함수는 선언되는 동시에lexical)
* 자신만의 Scope(범위)를 가집니다.
*/
// 해당 스코프(지역)의 this는 test
console.log(this)
const foo = {
bar: () => {
// 상위 스코프(지역)의 this인 test
console.log(this)
}
}
foo.bar()
}
}
test.foo.bar()
test.hello()
자바스크립트 스코프에 대한 이해를 조금 더 명확히 하시면 더 이해가 쉬울 것 같아요 🙂