Двоичные/Бинарные/Binary - это операции, которые принимают 2 числовых элемента на вход и выдают один на выходе.
Синтаксис AND - &
BitwiseANDExpression[In, Yield, Await] :
EqualityExpression[?In, ?Yield, ?Await]
BitwiseANDExpression[?In, ?Yield, ?Await] & EqualityExpression[?In, ?Yield, ?Await]
Синтаксис XOR - ^
BitwiseXORExpression[In, Yield, Await] :
BitwiseANDExpression[?In, ?Yield, ?Await]
BitwiseXORExpression[?In, ?Yield, ?Await] ^ BitwiseANDExpression[?In, ?Yield, ?Await]
Синтаксис OR - |
BitwiseORExpression[In, Yield, Await] :
BitwiseXORExpression[?In, ?Yield, ?Await]
BitwiseORExpression[?In, ?Yield, ?Await] | BitwiseXORExpression[?In, ?Yield, ?Await]
Примеры AND - &
Операция AND - это побитовое умножение. Это двоичная операция, а значит она принимает на вход два каких-то числа.
Допустим у нас есть два числа:
- 12
- 10
Так они будут выглядеть в двоичной системе счисления:
- 1100
- 1010

Теперь операция AND начинает последовательно смотреть на каждый бит (пары). Смотрит справа налево. Логическое "И" истинно только если оба бита истинны.

Первая пара - ноль и ноль. Результат AND вернёт 0.

Вторая пара - ноль и один. Результат AND вернёт 0.

Третья пара - один и ноль. Результат AND вернёт 0.

Четвёртая пара - один и один. Результат AND вернёт 1.
По итогу мы получим двоичное число 1000. Это 8 в десятичной системе счисления.
Примеры XOR - ^
Это двоичная операция, а значит она принимает на вход два каких-то числа.
Примеры OR - |
Это двоичная операция, а значит она принимает на вход два каких-то числа.
Семантика времени выполнения: оценка
BitwiseANDExpression : BitwiseANDExpression & EqualityExpression
1. Вернуть ? EvaluateStringOrNumericBinaryExpression(BitwiseANDExpression, &, EqualityExpression).
BitwiseXORExpression : BitwiseXORExpression ^ BitwiseANDExpression
1. Вернуть ? EvaluateStringOrNumericBinaryExpression(BitwiseXORExpression, ^, BitwiseANDExpression).
BitwiseORExpression : BitwiseORExpression | BitwiseXORExpression
1. Вернуть ? EvaluateStringOrNumericBinaryExpression(BitwiseORExpression, |, BitwiseXORExpression).
Информационные ссылки
Стандарт ECMAScript - Раздел "13.12 Binary Bitwise Operators" - https://tc39.es/ecma262/#sec-binary-bitwise-operators