I use
Math.random() * 10
to get a number between 0 and 10. However, when I use that with disjunction (|), the returned value becomes an integer even though I do not use such methods as Math.floor().
let n = Math.random() * 10;
// n is very likely a decimal number.
let n = Math.random() * 10 | 20;
// n becomes an integer.