Why are two different numbers equal in JavaScript?
All numbers in JavaScript are internally represented by 64-bit floating point numbers (see §4.3.19 of the specification). That means it can exactly represent every integer from 0 up to 9007199254740992 (hex value 0x20000000000000). Any integers greater than that (or less than it’s negative counterpart) may need to be rounded to the closest approximate value. Observe: … Read more