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

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

SetMutableBinding ( N, V, S )

Конкретный метод SetMutableBinding (Установить изменяемую привязку), глобальной записи среды envRec принимает аргументы N (строка), V (значение языка ECMAScript) и S (логическое значение). Он пытается изменить связанное значение текущей привязки идентификатора, имя которого является значением аргумента N, на значение аргумента V. Если привязка является неизменяемой привязкой, выдается ошибка TypeError, если S имеет значение true. Свойство с именем N обычно уже существует, но если оно не доступно для записи или в настоящее время не доступно для записи, обработка ошибок определяется S. При вызове оно выполняет следующие шаги:

1. Пусть DclRec будет envRec.[[DeclarativeRecord]].
2. Если DclRec.HasBinding(N) является true, тогда
   a. Вернуть DclRec.SetMutableBinding(N, V, S).
3. Пусть ObjRec будет envRec.[[ObjectRecord]].
4. Вернуть ? ObjRec.SetMutableBinding(N, V, S).

 

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

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.5 SetMutableBinding ( N, V, S )» — https://tc39.es/ecma262/multipage/executable-code-and-execution-contexts.html#sec-global-environment-records-setmutablebinding-n-v-s