ECMAScript | Глобальная Запись Среды | Метод HasRestrictedGlobalProperty ( N )

ECMAScript | Глобальная Запись Среды | Метод HasRestrictedGlobalProperty ( N )

HasRestrictedGlobalProperty ( N )

Конкретный метод HasRestrictedGlobalProperty(Имеет ограниченное глобальное свойство), глобальной записи среды envRec принимает аргумент N (строку). Он определяет, является ли идентификатор аргумента именем свойства глобального объекта, которое не должно быть затенено глобальной лексической привязкой. При вызове он выполняет следующие шаги:

1. Пусть ObjRec будет envRec.[[ObjectRecord]].
2. Пусть globalObject будет ObjRec.[[BindingObject]].
3. Пусть existingProp будет ? globalObject.[[GetOwnProperty]](N).
4. Если existingProp является undefined, вернуть false.
5. Если existingProp.[[Configurable]] является true, вернуть false.
6. Вернуть true.
Примечание

Свойства могут существовать в глобальном объекте, который был создан напрямую, а не объявлен с помощью объявления var или функции. Нельзя создать глобальную лексическую привязку, имя которой совпадает с именем ненастраиваемого свойства глобального объекта. Глобальное свойство 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.14 HasRestrictedGlobalProperty ( N )» — https://tc39.es/ecma262/multipage/executable-code-and-execution-contexts.html#sec-hasrestrictedglobalproperty