inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모던 자바스크립트(ES6+) 기본

3. 화살표 함수와 this, this가 정적 스코프 참조

화살표 함수의 this 의 정적 스코프 참조 부분 질문드립니다.

205

del

작성한 질문수 3

0

선생님 강의 듣다가 궁금한 점이 생겨서 질문드립니다.

화살표 함수 show()의

[[Scope]]가 , 실행컨텍스를 생성한 후에,

This 바인딩 컴포넌트에 바인딩되여,

참조하도록 되는 것인지,

아니면,

실행 시점에, 렉시컬 환경 컴포넌트의 외부 렉시컬 환경 참조에

참조하는  book 오브젝트를 통해서, 식별자해결을 통해, 

 window 오브젝트를 참조하는 것으로 봐야할까요

es6 javascript

답변 1

4

김영보

함수는 엔진이 function 키워드를 만나 Function Object를 생성할 때 [[Scope]]를 설정하며 바뀌지 않습니다. 물론, 화살표 함수도 같습니다.

한편, 화살표 함수에는 prototype이 없으며, 이것은 new 연산자로 인스턴스를 생성해도 의미가 없다는 뜻입니다. this로 인스턴스(오브젝트)를 참조하려는 것인데, 인스턴스를 생성하지 않으니 화살표 함수에서 this 사용은 궁극적인 목적과 차이가 있습니다.

화살표 함수에서 this는 자신이 속한 오브젝트를 참조합니다. 그런데, 자신이 속한 오브젝트 기준이 환경에 따라 달라지는 경우가 있습니다. 따라서 화살표 함수에서 this를 사용하려면, this가 참조하는 오브젝트를 파라미터로 넘겨주는 것이 확실합니다.

prototype의 메소드 내부에 화살표 함수가 작성된 경우

1

229

0

let 변수 호이스팅

0

381

1

[정리시간]부족하지만...

3

238

0

[제네레이터함수, yield를 활용한 무한 덧셈] 식, result += yield result를 어떻게 이해 해야할까요???

0

408

1

자바스크립트도 컴파일을 하나요?

0

626

1

틀린부분 질문드립니다

0

304

1

clear() 메소드 관련 질문

0

250

0

실행 시점

0

162

0

yield에 대해 질문이 있습니다.

0

302

2

window 오브젝트에서의 함수표현식 호출

0

279

1

Unicode 관련 정리

2

226

1

선생님께서 ES5 심화과정에서 알려주신 event 처리 방법 나이스입니다!

1

214

1

안녕하세요.선생님 질문이 생겨서 글남깁니다.

0

201

1

안녕하세요.선생님 질문 있습니다.

1

262

2

Array.from()이랑 Array.of()랑 설명이 뒤바뀐 것 같아요..

0

177

1

Arrow Function 에서 Scope 관련 질문이 있습니다.

1

298

5

setPrototypeOf() 는 정의에 대해 헷갈린 점 질문 드립니다.

5

234

1

[강의자입니다] 브라우저 디버거 창의 오른쪽에 let, const 변수 표시

5

289

0

디버깅 맨 처음부터 Script에 globalLet이 설정되어있습니다.

1

243

1

강의 pdf 파일 공개 부탁드립니다

0

170

1

아 전역에 let을 선언해도 순서대로 읽는군요;;

2

240

1

Symbol.species 질문입니다.

0

420

1

글의 정리가 안되어있어 삭제했습니다.

0

162

1

DevTools > Sources 에서 Block을 볼 수 없어요!

0

277

4