Битовые операции рассматривают свои операнды как 32-битные целые значения (последовательность 0 и 1), а не как 10-ричные, 16-ричные или 8-ричные числа. Например, десятеричное 9 имеет бинарное представление 1001. Битовые операции выполняются над такими двоичными представлениями, но возвращают стандартные числовые значения JavaScript.
 В таблице приведены битовые операции JavaScript.
					Таблица 3.4 Битовые операции
					  | Операция | Использование | Описание | 
  | И | a & b | Возвращает 1 в позиции каждого бита, где соответствующий бит обоих операндов равен 1. | 
  | ИЛИ | a | b | Возвращает 1 в позиции каждого бита, где соответствующий бит одного или обоих операндов равен 1. | 
  | Исключающее ИЛИ/XOR | a ^ b | Возвращает 1 в позиции каждого бита, где соответствующий бит одного, но не обоих, операндов равен 1. | 
  | НЕ | ~ a | Инвертирует биты операнда. | 
  | Сдвиг влево | a << b | Сдвигает операнд a в бинарном представлении на b битов влево, заполняя справа нулями. | 
  | Сдвиг вправо с сохранением знака | a >> b | Сдвигает операнд a в бинарном представлении на b битов вправо, отбрасывая смещённые биты. | 
  | Сдвиг вправо с заполнением нулями | a >>> b | Сдвигает операнд a в бинарном представлении на b битов вправо, отбрасывая смещённые биты и заполняя слева нулями. | 
 
					Битовые логические операции
					Концептуально битовые логические операции работают так:
 · Операнды конвертируются в 32-битные целые и выражаются серией битов (нулей и единиц).
 · Каждый бит первого операнда образует пару с соответствующим битом второго операнда: первый бит с первым, второй со вторым и т.д.
 · Операция применяется к каждой паре битов, и результат конструируется побитно.
 Например, цифра 9 имеет двоичное/бинарное представление 1001, а цифра 15 - 1111. Поэтому результаты применения битовых операций к этим значениям будут такими:
 · 15 & 9 даст 9 (1111 & 1001 = 1001)
 · 15 | 9 даст 15 (1111 | 1001 = 1111)
 · 15 ^ 9 даст 6 (1111 ^ 1001 = 0110)
					Битовые операции сдвига
					Операции битового сдвига принимают два операнда: первый это сдвигаемое число, а второй специфицирует количество битовых позиций, на которое сдвигается первый операнд. Направление сдвига контролируется самой операцией.
 Операции сдвига конвертируют свои операнды в 32-битные целые числа и возвращают результат того же типа, что и у левого операнда.
 Операции сдвига перечислены в следующей таблице.
					Таблица 3.5 Операции битового сдвига
					  | Операция | Описание | Пример | 
  | << (Сдвиг влево) | Эта операция сдвигает влево первый операнд на специфицированное вторым операндом количество битов. Излишние биты, сдвинутые влево, отбрасываются. Справа идёт заполнение нулями. | 9<<2 даёт 36, поскольку 1001, сдвинутое на 2 бита влево, становится 100100, что равно 36. | 
  | >> (Сдвиг вправо с сохранением знака) | Эта операция сдвигает вправо первый операнд на специфицированное вторым операндом количество битов. Излишние биты, сдвинутые вправо, отбрасываются. Копии левых битов вставляются слева. | 9>>2 даёт 2, поскольку 1001, сдвинутое на 2 бита вправо, становится 10, что равно 2. Аналогично -9>>2 даёт -3, поскольку знак сохраняется. | 
  | >>> (Сдвиг вправо с заполнением нулями) | Эта операция сдвигает вправо первый операнд на специфицированное вторым операндом количество битов. Излишние биты, сдвинутые вправо, отбрасываются. Слева идёт заполнение нулями. | 19>>>2 даёт 4, поскольку 10011, сдвинутое на 2 бита вправо, становится 100, то есть 4. Для неотрицательных чисел сдвиг вправо с заполнением нулями и сдвиг вправо с сохранением знака дают одинаковые результаты. |