Синтаксис выражений обновления UpdateExpression [Yield, Await] : LeftHandSideExpression [?Yield, ?Await] LeftHandSideExpression [?Yield, ?Await] [не LineTerminator здесь] ++ LeftHandSideExpression [?Yield, ?Await] [не LineTerminator здесь] — ++ UnaryExpression [?Yield, ?Await] — UnaryExpression [?Yield, ?Await] Статическая семантика: ранние ошибки UpdateExpression : LeftHandSideExpression ++ LeftHandSideExpression — Это ранняя синтаксическая ошибка, если AssignmentTargetType для LeftHandSideExpression не является простым (simple). UpdateExpression : […]
Архивы по дням: 22.06.2021
Синтаксис унарных операторов UnaryExpression [Yield, Await] : UpdateExpression [?Yield, ?Await] delete UnaryExpression [?Yield, ?Await] void UnaryExpression [?Yield, ?Await] typeof UnaryExpression [?Yield, ?Await] + UnaryExpression [?Yield, ?Await] — UnaryExpression [?Yield, ?Await] ~ UnaryExpression [?Yield, ?Await] ! UnaryExpression [?Yield, ?Await] [+Await] AwaitExpression [?Yield] Оператор delete Статическая семантика: ранние ошибки UnaryExpression : delete UnaryExpression Это синтаксическая ошибка, если UnaryExpression содержится в коде строгого […]
Семантика времени выполнения: оценка UnaryExpression : ! UnaryExpression 1. Пусть expr будет результатом вычисления UnaryExpression. 2. Пусть oldValue будет! ToBoolean(? GetValue(expr)). 3. Если oldValue является true (истинно), вернуть false. 4. Вернуть истину true Информационные ссылки Стандарт ECMAScript — Раздел «13.5 Unary Operators» — https://tc39.es/ecma262/#sec-unary-operators Стандарт ECMAScript — Раздел «13.5.7 Logical NOT Operator […]
Семантика времени выполнения: оценка UnaryExpression : ~ UnaryExpression 1. Пусть expr будет результатом вычисления UnaryExpression. 2. Пусть oldValue будет ? ToNumeric(? GetValue(expr)). 3. Пусть T будет Type(oldValue). 4. Вернуть ! T::bitwiseNOT(oldValue). Информационные ссылки Стандарт ECMAScript — Раздел «13.5 Unary Operators» — https://tc39.es/ecma262/#sec-unary-operators Стандарт ECMAScript — Раздел «13.5.6 Bitwise NOT Operator ( ~ […]
Примечание Унарный оператор минус — преобразует свой операнд в числовой тип Number, а затем отменяет его. Отрицание +0𝔽 дает -0𝔽, а отрицание -0𝔽 дает +0𝔽. Семантика времени выполнения: оценка UnaryExpression : — UnaryExpression 1. Пусть expr будет результатом вычисления UnaryExpression. 2. Пусть oldValue будет ? ToNumeric(? GetValue(expr)). 3. Пусть T будет Type(oldValue). […]
Примечание Унарный оператор + преобразует свой операнд в числовой тип Number. Семантика времени выполнения: оценка UnaryExpression : + UnaryExpression 1. Пусть expr будет результатом вычисления UnaryExpression. 2. Вернуть ? ToNumber(? GetValue(expr)). Информационные ссылки Стандарт ECMAScript — Раздел «13.5 Unary Operators» — https://tc39.es/ecma262/#sec-unary-operators Стандарт ECMAScript — Раздел «13.5.4 Unary + Operator» […]
Семантика времени выполнения: оценка UnaryExpression : typeof UnaryExpression 1. Пусть val будет результатом вычисления UnaryExpression. 2. Если val является ссылочной записью Reference Record, тогда а. Если IsUnresolvableReference(val) является true (истинно), вернуть «undefined». 3. Установите val на ? GetValue(val). 4. Верните строку в соответствии с таблицей 41. Таблица Тип val Результат Undefined «undefined» Null […]
Семантика времени выполнения: оценка UnaryExpression : void UnaryExpression 1. Пусть expr будет результатом вычисления UnaryExpression. 2. Выполнить ? GetValue(expr). 3. Вернуть undefined. Примечание GetValue должен быть вызван, даже если его значение не используется, поскольку оно может иметь наблюдаемые побочные эффекты. Информационные ссылки Стандарт ECMAScript — Раздел «13.5 Unary Operators» — https://tc39.es/ecma262/#sec-unary-operators […]