inflearn logo
강의

講義

知識共有

実践JavaScript

語彙的環境 1

3:18 부분 질문드립니다. (lexical environment)

解決済みの質問

234

hugo

投稿した質問数 1

0

3:18 쯤에 아래와 같이 설명해주셨는데요.


"이전에는 마치 함수가 종료될 때마다 execution context 가 제거되고, 그 안에 있던 lexical environment 도 제거되는 것처럼 설명을 드렸는데요.

지금과 같이 내부에서 함수가 만들어지는 경우에는 이렇게 lexical environment 가 유지가 됩니다."

 

위 내용이 헷갈려서 그러는데 아래 1), 2) 중 어떤 내용이 맞는걸까요? ㅠㅠ

"함수 A의 내부에서 또 다른 함수 B가 생성되고 함수 A의 실행이 종료될 경우" 에

1) A 함수의 execution context 는 제거되지만 A 함수의 lexical environment 는 유지가 된다.

2) A 함수의 execution context 와 A 함수의 lexical environment 모두 유지된다.

저는 "EC 안에 LE 가 생성된다"고 이해했기 때문에 2번이 맞다고 생각하고 있습니다.

 

답변 부탁드리겠습니다 ㅠㅠ

es6 javascript

回答 1

0

landvibe

안녕하세요
execution context 는 함수의 실행 정보를 의미하기 때문에 실행이 끝나면 제거되는 게 맞습니다 (1번)

다만 함수 내부에서 새로운 함수가 만들어지는 경우에는,
생성된 함수가 부모 함수의 lexical environment 를 참조하게 되면서 lexical environment 는 삭제가 되지 않습니다
만약 내부에서 새로운 함수가 만들어지지 않았다면 lexical environment 를 참조하는 것이 없으므로 execution context 가 제거될 때 같이 사라질 거구요

3강 질문

0

18

1

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

27

1

2강 nodejs 3단계 설명 질문

0

33

1

imagesLoaded에 관한 질문

0

19

2

useEffect와 lifecycle문의

0

26

2

프론트엔드 학습 수준 문의

0

37

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

48

2

yield 입력값

0

374

1

화살표함수에서 아규먼츠를 사용할수없어서 매개변수를 사용하라고 하셨는데..

0

309

1

실전자바스크립트 var문제점

0

280

1

강의 자료는 어디 있나요?

0

289

1

github에 정리좀하려고하는데, 해당 예제코드들 따로 공유가능할ㄲ요?

0

260

1

2:30초 경 그림 질문

0

342

3

constructor 질문있습니다!

0

258

2

nulish coalescing 과 optional chaining의 차이점은 무엇인가요?

0

323

1

프로토타입 예제에서 궁금한게 있습니다.

0

233

2

마지막 예제 질문드립니다.

1

199

1

궁금해서 명세를 찾아봤는데요

1

204

3

2:24경 설명

1

170

1

7분42초

1

167

1

리액트 내에서 const질문입니다.

1

193

1

궁금한것이 있습니다.

1

328

1

sample 파일 예제 소스는 어디있죠 ??

1

263

1

각 함수가 실행되면

2

174

1