Семантика времени выполнения: оценка
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 ( ~ )» — https://tc39.es/ecma262/#sec-bitwise-not-operator