• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

ES5이상 스코프 체인

21.03.30 11:14 작성 조회수 141

0

여러권의 스크립트 기본서적을 읽었는데,

ES5 이상에서 scope chain을 더이상 사용하지 않는다는 것은 처음 들어본 것 같아 질문드립니다.

ES5이상에서 declarative environment record 에서 scope chain 정보를 정적으로 가지고 있는거고, 더이상 실행시 동적으로 scope chain에 연결하지는 않는다는,, 용어적인 차이에서 오는 혼동인가요?

답변 3

·

답변을 작성해보세요.

0

yonnani님의 프로필

yonnani

2021.09.11

질문자님께서 어떤 책을 보셨는지 모르겠지만, 제가 읽은 책에서는 ES5에서 'scope chain' 이라는 단어가 사라졌기 때문에 그 용어를 그대로 사용하지 않고 저자가 대신 '유효 범위 체인' 이라는 이름으로 식별자 탐색과정을 설명하는 부분이 나옵니다. (모던 자바스크립트 입문, 길벗 286p)

 

0

다른 사람 글을 평가하는 것이 그렇습니다.

0

ES3에서는 scope chain 구조로 식별자를 해결했지만, ES5에서는 scope chain 구조로 식별자를 해결하지 않습니다. 용어적인 차이가 아니라 구조(아키텍처)가 바뀌었습니다. 강좌는 바뀐 것을 기준으로 진행합니다.
ES3 책이라면 맞지만, ES5 이상을 다루는 책에서 scope chain을 거론하면 맞지 않습니다.

hhhh님의 프로필

hhhh

질문자

2021.03.30

답변 감사합니다.

es5 명세에 scope chain이라는 용어 자체가 없는 것도 확인했습니다.

그런데 한가지 궁금한 게,

Scope | PoiemaWeb

Closure | PoiemaWeb

(JavaScript) 함수의 범위(scope) - lexical scoping - ZeroCho Blog

위 링크와 같이 꽤 유명한 개발자들의 글이나, 기타 책에서는 (ES5를 전제)

렉시컬 스코프, 스코프 체인을 동시에 존재하는(or 렉시컬 스코프에 스코프 체인이 포함되는) 개념으로 설명하는 것 같은데,,

저런 글들에서 보편적으로 설명하는 scope chain은 어떤 걸 나타내는지 궁금합니다.