Как работает оператор ^ в reduce?
^ - это операция XOR. XOR вернёт единицу в том случае, если один из операндов (битов) 1 а другой 0. Таким образом, к примеру, 3 ^ 5 вернет 6 потому, что 0b011 ^ 0b101 (для простоты, биты будем считать слева направо):
Первый бит: 0 ^ 1 = 1.
Второй бит: 1 ^ 0 = 1.
Третий бит: 1 ^ 1 = 0.
Вместе: 0b110 = 6.
Ну а функция будет на каждом шаге использовать значение из предыдущей операции. Также, первая итерация будет следующая: undefined ^ N или 0 ^ N, что вернёт нам само число.
это XOR