Javascript 2021의 어휘 환경 및 환경 기록 살펴보기
5778 단어 javascriptcomputersciencewebdev
Lexical Environment
및 Environment Record
를 먼저 이해해 봅시다.ES2015에서 ES2020 사양까지:-
어휘 환경:
환경기록
연결된 Lexical Environment 범위 내에서 생성된 식별자 바인딩을 기록합니다. Lexical Environment의 EnvironmentRecord라고 합니다.외부 참조
외부 환경에 대한 참조입니다(전역 환경에서는 null).의사 코드를 사용한 개념적 보기:
executioncontext.environment = {
environmentRecord: {
// storage
<identifier> : <value>
<identifier> : <value>
}
// reference to the parent environment
outer: <...>
}
참고: - Execution Context 내부에 생성된
[[Environment]]
는 type
Lexical Environment입니다.[refer ES2020]
12th Edition ECMAScript2021 사양에 따르면:
환경기록
외부 참조
null이거나 외부 환경 레코드에 대한 참조인[[OuterEnv]]
필드입니다.의사 코드를 사용한 개념적 보기:
executioncontext.environment = {
// storage
<identifier> : <value>,
<identifier> : <value>,
// reference to the parent environment
outer: <...>
}
참고: - 실행 컨텍스트 내부에 생성된
[[Environment]]
는 type
환경 레코드[refer ES2021]입니다.Structure of execution context
도 이해하자실행 컨텍스트:
LexicalEnvironment
, VariableEnvironment
등과 같은 다양한 상태 구성 요소가 필요합니다. 의사 코드에서:
ExecutionContext = {
VariableEnvironment: { ... },
LexicalEnvironment: { ... },
// other components
}
메모:
ES2020까지
ES2021부터
- 실행 컨텍스트의
LexicalEnvironment component
및 VariableEnvironment component
는 항상 어휘 환경[refer ES2020]입니다.- 실행 컨텍스트의
LexicalEnvironment component
및 VariableEnvironment
구성 요소는 항상 환경 레코드[refer ES2021]입니다.요약
위의 코드 스니펫에서 수행하는 모든 단계를 간단히 요약해 보겠습니다.
[[environment]]
는 Lexical Environment가 아닌 type
Environment Record입니다. LexicalEnvironment component
및 VariableEnvironment components
는 항상 환경 레코드입니다. 마무리!!
시간 내 주셔서 감사합니다!! 함께 배우고 성장하기 위해 연결합시다.
Github
Reference
이 문제에 관하여(Javascript 2021의 어휘 환경 및 환경 기록 살펴보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codescoop/what-has-changed-in-lexical-environment-as-per-ecmascript-2021-2bjb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)