Множество Тип Множество (Set) используется для объяснения коллекции неупорядоченных элементов для использования в модели памяти. Оно отличается от одноименного типа коллекции ECMAScript. Чтобы устранить неоднозначность, в этой спецификации экземпляры коллекции ECMAScript постоянно упоминаются как «Объекты Наборы» (Set objects). Значения типа Множество представляют собой простые коллекции элементов, в которых ни один […]
Архивы по дням: 11.09.2021
Список Тип Список (List) используется для объяснения оценки списков аргументов (раздел 13.3.8) в выражениях new, в вызовах функций и в других алгоритмах, где необходим простой упорядоченный список значений. Значения типа Список (List) — это просто упорядоченные последовательности элементов списка, содержащие отдельные значения. Эти последовательности могут быть любой длины. К элементам […]
15.10.1 Статическая семантика: IsInTailPosition ( call ) Абстрактная операция IsInTailPosition (Находится в хвостовой позиции) принимает аргумент call. При вызове она выполняет следующие шаги: 1. Утверждено: вызов call является Узлом Синтаксического Анализа. 2. Если вызов call сопоставления исходного кода является нестрогим кодом, вернуть false. 3. Если вызов call не содержится в […]
Синтаксис Оператора Statement [Yield, Await, Return] : BlockStatement [?Yield, ?Await, ?Return] VariableStatement [?Yield, ?Await] EmptyStatement ExpressionStatement [?Yield, ?Await] IfStatement [?Yield, ?Await, ?Return] BreakableStatement [?Yield, ?Await, ?Return] ContinueStatement [?Yield, ?Await] BreakStatement [?Yield, ?Await] [+Return] ReturnStatement [?Yield, ?Await] WithStatement [?Yield, ?Await, ?Return] LabelledStatement [?Yield, ?Await, ?Return] ThrowStatement [?Yield, ?Await] TryStatement [?Yield, ?Await, […]
Синтаксис оператора debugger DebuggerStatement : debugger ; 14.16.1 Семантика времени выполнения: Оценка Примечание Оценка DebuggerStatement может позволить реализации вызвать точку останова при запуске под отладчиком. Если отладчик отсутствует или активен, этот оператор не имеет видимого эффекта. DebuggerStatement : debugger ; 1. Если средство отладки, определяемое реализацией, доступно и включено, то а. […]
Синтаксис оператора try TryStatement [Yield, Await, Return] : try Block [?Yield, ?Await, ?Return] Catch [?Yield, ?Await, ?Return] try Block [?Yield, ?Await, ?Return] Finally [?Yield, ?Await, ?Return] try Block [?Yield, ?Await, ?Return] Catch [?Yield, ?Await, ?Return] Finally [?Yield, ?Await, ?Return] Catch [Yield, Await, Return] : catch ( CatchParameter [?Yield, ?Await] ) […]
Синтаксис оператора throw ThrowStatement [Yield, Await] : throw [нет LineTerminator здесь] Expression [+In, ?Yield, ?Await] ; 14.14.1 Семантика времени выполнения: Оценка ThrowStatement : throw Expression ; 1. Пусть exprRef будет результатом вычисления выражения Expression. 2. Пусть exprValue будет ? GetValue(exprRef). 3. Вернуть ThrowCompletion(exprValue). Информационные ссылки Стандарт ECMAScript — […]
Синтаксис помеченных операторов LabelledStatement [Yield, Await, Return] : LabelIdentifier [?Yield, ?Await] : LabelledItem [?Yield, ?Await, ?Return] LabelledItem [Yield, Await, Return] : Statement [?Yield, ?Await, ?Return] FunctionDeclaration [?Yield, ?Await, ~Default] Примечание Заявление Statement может быть предварено меткой. Помеченные операторы используются только вместе с помеченными операторами break и continue. В ECMAScript […]
Синтаксис оператора switch SwitchStatement [Yield, Await, Return] : switch ( Expression [+In, ?Yield, ?Await] ) CaseBlock [?Yield, ?Await, ?Return] CaseBlock [Yield, Await, Return] : { CaseClauses [?Yield, ?Await, ?Return] opt } { CaseClauses [?Yield, ?Await, ?Return] opt DefaultClause [?Yield, ?Await, ?Return] CaseClauses [?Yield, ?Await, ?Return] opt } CaseClauses [Yield, Await, […]
Синтаксис оператора with WithStatement [Yield, Await, Return] : with ( Expression [+In, ?Yield, ?Await] ) Statement [?Yield, ?Await, ?Return] Примечание Оператор with добавляет объект Environment Record для вычисляемого объекта в лексическую среду текущего контекста выполнения. Затем он выполняет инструкцию, используя эту расширенную лексическую среду. Наконец, восстанавливается исходная лексическая среда. […]