ECMAScript | Операторы побитового сдвига (Bitwise Shift Operators)

ECMAScript | Операторы побитового сдвига (Bitwise Shift Operators)

Синтаксис оператора побитового сдвига

ShiftExpression [Yield, Await] :

AdditiveExpression [?Yield, ?Await]

ShiftExpression [?Yield, ?Await] << AdditiveExpression [?Yield, ?Await]

ShiftExpression [?Yield, ?Await] >> AdditiveExpression [?Yield, ?Await]

ShiftExpression [?Yield, ?Await] >>> AdditiveExpression [?Yield, ?Await]

 

Оператор левого сдвига (<<)

Примечание

Выполняет побитовую операцию сдвига влево для левого операнда на величину, заданную правым операндом.

Семантика времени выполнения: оценка

ShiftExpression : ShiftExpression << AdditiveExpression

1. Вернуть ? EvaluateStringOrNumericBinaryExpression(ShiftExpression, <<, AdditiveExpression).

 

Подписанный оператор сдвига вправо (>>)

Примечание

Выполняет операцию побитового сдвига вправо с заполнением знака для левого операнда на величину, заданную правым операндом.

Семантика времени выполнения: оценка

ShiftExpression : ShiftExpression >> AdditiveExpression

1. Вернуть ? EvaluateStringOrNumericBinaryExpression(ShiftExpression, >>, AdditiveExpression).

 

Оператор неподписанного сдвига вправо (>>>)

Примечание

Выполняет операцию побитового сдвига вправо с заполнением нулями левого операнда на величину, заданную правым операндом.

Семантика времени выполнения: оценка

ShiftExpression : ShiftExpression >>> AdditiveExpression

1. Вернуть ? EvaluateStringOrNumericBinaryExpression(ShiftExpression, >>>, AdditiveExpression).

 

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

Стандарт ECMAScript — Раздел «13.9 Bitwise Shift Operators» — https://tc39.es/ecma262/#sec-bitwise-shift-operators