(9 + 2) / 2|0; // results in 5
A single pipe | is BitWise OR.
Bitwise operator only allow integer values, so after decimal point value is discarded.
Bitwise OR operator | takes 2 bit patterns, and perform OR operations on each pair of corresponding bits.
The following example will explain it.
1010 1100 ----------bitwise or 1110