Sparky saysJS has one number type (64-bit float) covering ints and decimals — plus NaN and Infinity.
There's no separate int type; all numbers are IEEE-754 doubles. That means 0.1 + 0.2 !== 0.3 (floating-point rounding) and integers are exact only up to Number.MAX_SAFE_INTEGER. NaN ("not a number") results from invalid math, and Infinity from overflow or divide-by-zero.
Power-ups you unlock
One number type: 64-bit float (no separate int)
0.1 + 0.2 ≠ 0.3 (floating-point rounding)
NaN = invalid math result
Safe integers up to Number.MAX_SAFE_INTEGER
NaN the Trickster attacks — common mistakes
Comparing floats with === (use a tolerance)
Assuming huge integers stay exact
Treating NaN as comparable (NaN !== NaN)
Boss battleShow that 0.1 + 0.2 is not exactly 0.3, then round it with toFixed.