Я нашел следующий код в проекте JS:
var a = new Array();
a[0] = 0;
for (var b = 0; b < 10; b++) {
  a[0] |= b; 
}
Что делает |= в теле цикла for?
Пример кода сомнительный, но был представлен здесь на V8 для примера повышения производительности.
Обновленный пример
Приведенный выше пример эквивалентен var a = [15]; для большинства целей и целей. Более реалистичным примером для оператора |= было бы создание двоичных флагов в одной переменной, например, на объекте разрешения:
//Set up permission masks
var PERMISSION_1_MASK = parseInt('0001',2);
var PERMISSION_2_MASK = parseInt('0010',2);
..
//Set up permissions
userPermissions = 0;
userPermissions |= hasPermissionOne && PERMISSION_1_MASK;
userPermissions |= hasPermissionTwo && PERMISSION_2_MASK;
..
//Use permissions
if(userPermissions & PERMISSION_1_MASK){
    ..//Do stuff only allowed by permission 1
}
