Yes, I know all about IEEE floating point numbers.
For instance, there is no precise representation of the decimal value 0.1 in binary floating point maths.
This being the case, what tricks are being used to "round" the result of the expression:
console.log(0.1 * 10)
to be exactly 1 (i.e. (0.1 * 10) === 1 is true) when, if I make my own calculations using addition:
console.log([...Array(10)].reduce((a) => a + 0.1, 0))
the result is (on my machine) 0.9999999999999999.
How does Javascript (and, most likely other runtimes) fudge the multiplication to give the (intuitively) correct answer without falling into the same problem I did when doing this manually?