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

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

DeleteBinding ( N )

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

1. Пусть DclRec будет envRec.[[DeclarativeRecord]].
2. Если DclRec.HasBinding(N) является true, тогда
   a. Вернуть DclRec.DeleteBinding(N).
3. Пусть ObjRec будет envRec.[[ObjectRecord]].
4. Пусть globalObject будет ObjRec.[[BindingObject]].
5. Пусть existingProp будет ? HasOwnProperty(globalObject, N).
6. Если existingProp является true, тогда
   a. Пусть status будет ? ObjRec.DeleteBinding(N).
   b. Если status является true, тогда
      i. Пусть varNames будет envRec.[[VarNames]].
      ii. Если N является элементом varNames, удалите этот элемент из varNames.
   c. Вернуть status.
7. Вернуть true.

 

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

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.7 DeleteBinding ( N )» — https://tc39.es/ecma262/multipage/executable-code-and-execution-contexts.html#sec-global-environment-records-getbindingvalue-n-s