Глобальная запись среды (global Environment Record) используется для представления самой внешней области видимости (outer most scope), которая используется всеми элементами сценария ECMAScript, которые обрабатываются в общей области (common realm). Глобальная запись среды предоставляет привязки для встроенных глобальных объектов (раздел 19), свойств глобального объекта и для всех объявлений верхнего уровня (8.1.9, […]
Архивы по дням: 09.04.2021
CreateGlobalFunctionBinding ( N, V, D ) Конкретный метод CreateGlobalFunctionBinding (Создать привязку глобальной функции), глобальной записи среды envRec принимает аргументы N (строка), V (значение языка ECMAScript) и D (логическое значение). Он создает и инициализирует изменяемую привязку в связанной записи среды объекта и записывает связанное имя в связанный список [[VarNames]]. Если привязка […]
CreateGlobalVarBinding ( N, D ) Конкретный метод CreateGlobalVarBinding(Создать привязку глобальной переменной), глобальной записи среды envRec принимает аргументы N (строка) и D (логическое значение). Он создает и инициализирует изменяемую привязку в связанной записи среды объекта и записывает связанное имя в связанный список [[VarNames]]. Если привязка уже существует, она используется повторно и […]
CanDeclareGlobalFunction ( N ) Конкретный метод CanDeclareGlobalFunction(Может объявить глобальную функцию), глобальной записи среды envRec принимает аргумент N (строку). Он определяет, будет ли соответствующий вызов CreateGlobalFunctionBinding успешным, если он будет вызван для того же аргумента N. При вызове он выполняет следующие шаги: 1. Пусть ObjRec будет envRec.[[ObjectRecord]]. 2. Пусть globalObject будет […]
CanDeclareGlobalVar ( N ) Конкретный метод CanDeclareGlobalVar(Можно объявить глобальную переменную), глобальной записи среды envRec принимает аргумент N (строку). Он определяет, будет ли соответствующий вызов CreateGlobalVarBinding успешным, если он вызывается для того же аргумента N. Разрешены избыточные объявления var и объявления var для ранее существовавших свойств глобального объекта. При вызове он […]
HasRestrictedGlobalProperty ( N ) Конкретный метод HasRestrictedGlobalProperty(Имеет ограниченное глобальное свойство), глобальной записи среды envRec принимает аргумент N (строку). Он определяет, является ли идентификатор аргумента именем свойства глобального объекта, которое не должно быть затенено глобальной лексической привязкой. При вызове он выполняет следующие шаги: 1. Пусть ObjRec будет envRec.[[ObjectRecord]]. 2. Пусть globalObject […]
HasLexicalDeclaration ( N ) Конкретный метод HasLexicalDeclaration(Имеет лексическое объявление), глобальной записи среды envRec принимает аргумент N (строку). Он определяет, имеет ли идентификатор аргумента привязку в этой записи, которая была создана с использованием лексического объявления, такого как LexicalDeclaration или ClassDeclaration. При вызове он выполняет следующие шаги: 1. Пусть DclRec будет envRec.[[DeclarativeRecord]]. […]
HasVarDeclaration ( N ) Конкретный метод HasVarDeclaration(Имеет объявление Var), глобальной записи среды envRec принимает аргумент N (строку). Он определяет, имеет ли идентификатор аргумента привязку в этой записи, которая была создана с помощью VariableStatement или FunctionDeclaration. При вызове он выполняет следующие шаги: 1. Пусть varDeclaredNames будет envRec.[[VarNames]]. 2. Если varDeclaredNames содержит […]
GetThisBinding ( ) Конкретный метод GetThisBinding (Получить привязку this), глобальной записи среды envRec не принимает аргументов. При вызове он выполняет следующие шаги: 1. Вернуть envRec.[[GlobalThisValue]]. Информационные ссылки ECMAScript | Глобальные записи среды Стандарт ECMAScript — Раздел «9.1.1.4 Global Environment Records» — https://tc39.es/ecma262/multipage/executable-code-and-execution-contexts.html#sec-global-environment-records Стандарт ECMAScript — Раздел «9.1.1.4.11 GetThisBinding ( […]
WithBaseObject ( ) Конкретный метод WithBaseObject(С базовым объектом), глобальной записи среды envRec не принимает аргументов. При вызове он выполняет следующие шаги: 1. Вернуть undefined. Информационные ссылки ECMAScript | Глобальные записи среды Стандарт ECMAScript — Раздел «9.1.1.4 Global Environment Records» — https://tc39.es/ecma262/multipage/executable-code-and-execution-contexts.html#sec-global-environment-records Стандарт ECMAScript — Раздел «9.1.1.4.10 WithBaseObject ( )» […]
HasSuperBinding ( ) Конкретный метод HasSuperBinding (Имеет привязку Super), глобальной записи среды envRec не принимает аргументов. При вызове он выполняет следующие шаги: 1. Вернуть false. Примечание «Global Environment Records» не имеют привязки super. Информационные ссылки ECMAScript | Глобальные записи среды Стандарт ECMAScript — Раздел «9.1.1.4 Global Environment Records» — […]
HasThisBinding ( ) Конкретный метод HasThisBinding (Имеет привязку этого this), глобальной записи среды envRec не принимает аргументов. При вызове он выполняет следующие шаги: 1. Вернуть true. Примечание «Global Environment Records» (Глобальная Запись Среды) всегда предоставляют эту привязку. Информационные ссылки ECMAScript | Глобальные записи среды Стандарт ECMAScript — Раздел «9.1.1.4 […]
DeleteBinding ( N ) Конкретный метод DeleteBinding (Удалить привязку), глобальной записи среды envRec принимает аргумент N (строка). Он может удалять только привязки, которые были явно обозначены как подлежащие удалению. При вызове он выполняет следующие шаги: 1. Пусть DclRec будет envRec.[[DeclarativeRecord]]. 2. Если DclRec.HasBinding(N) является true, тогда a. Вернуть DclRec.DeleteBinding(N). 3. […]
Запись Среды (Environment Record) — это тип спецификации, используемый для определения ассоциации идентификаторов Identifiers с конкретными переменными и функциями на основе лексической структуры вложенности кода ECMAScript. Обычно Запись Среды связана с определённой синтаксической структурой кода ECMAScript, такой как: FunctionDeclaration BlockStatement предложение Catch в TryStatement Каждый раз, когда такой код оценивается, […]