화살표 함수의 this 질문드립니다!!
549
작성한 질문수 1
화살표 함수의 this는 상위의 스코프를 가리킨다. 이런 개념이잖아요??
그래서 obj안에 obj를 만들어 거기에서 화살표함수를 통해 함수를 만들고 호출하였습니다. 상위 스코프이기에 test가 출력이 될 거라고 생각했는데 window가 출력이 되더라구요.. 왜일까요?ㅠㅠ
답변 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()
자바스크립트 스코프에 대한 이해를 조금 더 명확히 하시면 더 이해가 쉬울 것 같아요 🙂
webpack 관련 질문
0
22
1
Lottball.vue에서 궁금한점이 있어 질문드립니다.
0
48
0
수강후기
0
45
1
npm run build 시 강사님같은 app.js가 생성되지 않음
0
82
2
기본 셋팅과 관련하여
0
91
1
초기 셋팅 back과 front만 남겨두고 다 지운 후 진행 방법
0
96
2
캡쳐링을 막아야 하는 경우는 어떤 경우가 있을까요?
0
89
1
focus 시에만 화면 업데이트 되는 이유 + 해결방법
0
148
2
useEffect 개수 관리
0
109
2
함수 정의 패턴
0
77
1
npm run dev 에러
0
152
3
npx webpack 후 에러
0
178
2
'void' 형식 식의 truthiness를 테스트할 수 없습니다.ts(1345)
0
142
2
에러 해결 공유드립니다
1
224
2
webpack 4 버전과 호환되는 플러그인 버전 공유드립니다
1
233
2
초기세팅중 packge.json 에러떠요
0
154
2
CORS - Access-Control-Allow-Origin 누락 문제
0
426
3
eslint
0
381
3
[이벤트 전파, 버블링&캡쳐링] style 관련 문의
0
299
1
안녕하세요 선생님 혹시 강의 내용을 블로그에 정리해도 될까요?
0
589
1
DOM(document object model)과 BOM(broswer object model)의 상관 관계
0
622
1
교안이 따로 공유해주시면..
1
999
1
강의 내용을 블로그에 정리해도 될까요?
0
353
1
강의동영상중에 정리된 내용을 볼 수 있는 인터넷 주소가 따로 있나요 ?
0
410
1





