JavaScript | Операции с числовыми типами

JavaScript | Операции с числовыми типами

ECMAScript имеет два встроенных числовых типа: Number и BigInt. В этой спецификации каждый числовой тип T содержит мультипликативное значение идентичности, обозначенное T::unit. Типы спецификации также имеют следующие абстрактные операции, также обозначаемые T::op для данной операции с именем спецификации op. Все типы аргументов являются T. В столбце «Результат» отображается тип возвращаемого значения, а также указывается, могут ли некоторые вызовы операции возвращать внезапное завершение.

 

Краткое содержание призыва Пример источника Вызывается семантикой оценки … Результат
T::unaryMinus(x) -x Унарный Оператор () T
T::bitwiseNOT(x) ~x Побитовый оператор НЕ (~) T
T::exponentiate(x, y) x ** y Оператор возведения в степень и Math.pow (основание, показатель степени) T, может выбросить RangeError
T::multiply(x, y) x * y Мультипликативные операторы T
T::divide(x, y) x / y Мультипликативные операторы T, может выбросить RangeError
T::remainder(x, y) x % y Мультипликативные операторы T, может выбросить RangeError
T::add(x, y) x ++
++ x
x + y
Оператор постфиксного приращения, оператор приращения префикса и оператор сложения (+) T
T::subtract(x, y) x —
— x
x — y
Постфиксный оператор декремента, префиксный оператор декремента и оператор вычитания (-) T
T::leftShift(x, y) x << y Оператор левого сдвига (<<) T
T::signedRightShift(x, y) x >> y Подписанный оператор сдвига вправо (>>) T
T::unsignedRightShift(x, y) x >>> y Оператор беззнакового сдвига вправо (>>>) T, может вызвать TypeError
T::lessThan(x, y) x < y
x > y
x <= y
x >= y
Операторы отношения через абстрактное реляционное сравнение Boolean или undefined (для неупорядоченных входов)
T::equal(x, y) x == y
x != y
x === y
x !== y
Операторы равенства через строгое сравнение равенства Boolean
T::sameValue(x, y) Внутренние методы объекта через SameValue(x, y) для проверки точного равенства значений Boolean
T::sameValueZero(x, y) Методы Array, Map и Set через SameValueZero(x, y) для проверки равенства значений, игнорируя различия между членами нулевой когорты (т. е. -0𝔽 и +0𝔽) Boolean
T::bitwiseAND(x, y) x & y Двоичные побитовые операторы T
T::bitwiseXOR(x, y) x ^ y Двоичные побитовые операторы T
T::bitwiseOR(x, y) x | y Двоичные побитовые операторы T
T::toString(x) String(x) Многие выражения и встроенные функции через ToString(argument) String

Таблица 2: Операции с числовыми типами

 

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

Стандарт ECMAScript — Раздел «6.1.5.1 Well-Known Symbols» — https://tc39.es/ecma262/#sec-well-known-symbols