I have not been able to find a straight answer on this. I've check the spec but don't see anything that defines the precision.
Number.MAX_VALUE
1.7976931348623157e+308
a = 9007199254740992
a == a-1
false
a+1
9007199254740992
a+2
9007199254740994
a*a
8.112963841460668e+31
a*a == ((a*a)-1)
true
a*a == ((a*a)*a)
false