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

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

CanDeclareGlobalVar ( N )

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

1. Пусть ObjRec будет envRec.[[ObjectRecord]].
2. Пусть globalObject будет ObjRec.[[BindingObject]].
3. Пусть hasProperty будет ? HasOwnProperty(globalObject, N).
4. Если hasProperty является true, вернуть true.
5. Вернуть ? IsExtensible(globalObject).

 

Информационные ссылки

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.15 CanDeclareGlobalVar ( N )» — https://tc39.es/ecma262/multipage/executable-code-and-execution-contexts.html#sec-candeclareglobalvar