Побитовые операции рассматривают каждый операнд как набор из 32 битов (0 и 1), а не как десятеричное, 16-ричное или 8-ричное число. Например, 10-ричное число 9 имеет двоичное представление 1001. Побитовые операции выполняются над такими двоичными представлениями чисел, но возвращают стандартные числовые значения JavaScript.
AND | a & b | Возвращает 1 в каждой битовой позиции, где оба бита операндов равны 1. |
OR | a | b | Возвращает 1 в каждой битовой позиции, где один или оба бита операндов равны 1. |
XOR | a ^ b | Возвращает 1 в каждой битовой позиции, где один, но не оба бита операндов равен 1. |
NOT | ~ a | Инвертирует биты операнда. |
Сдвиг влево | a << b | Сдвигает a в двоичном представлении на b битов влево, заполняя справа нулями. |
Сдвиг вправо с сохранением знака | a >> b | Сдвигает a в двоичном представлении на b битов вправо, отбрасывая сдвинутые биты. |
Сдвиг вправо с заполнением нулями | a >>> b | Сдвигает a в двоичном представлении на b битов вправо, отбрасывая сдвинутые биты и заполняя слева нулями. |