Number - 安全范围

302 阅读1分钟

什么是安全范围?

安全范围是指,在这个范围内的整数可以转化为二进制存储,存储的时候不会出现精度丢失,能够被安全的呈现的最大整数。

安全范围是多少?

Number.MAX_SAFE_INTEGER(9007199254740991)

Number.MIN_SAFE_INTEGER(-9007199254740991)
超过此范围依旧可以运算,但无法保证运算结果的精度。

Number上的一些常量

常量讲解:

  • Number.EPSILON -- 的值为2.220446049250313e-16,它表示 1 和大于 1 的最小浮点数之间的差,相当于 2 的 -52 次方
  • Number.MAX_SAFE_INTEGER -- 的值为9007199254740991,最大的安全整数
  • Number.MIN_SAFE_INTEGER -- 的值为-9007199254740991,最小安全安全整数
  • Number.MAX_VALUE -- 是JavaScript数值类型中所能表示的最大值。它的值为 MAX_SAFE_INTEGER * 2 ** 971
  • Number.MIN_VALUE -- 是JavaScript中刚好比0大的最小值。它的值为 2 ** -1074

也就是说,但凡程序中出现MAX_SAFE_INTEGER,那么我们就应该提高警惕,很容易踩坑,如果出现Number.MAX_VALUE那么就可以断定,程序中大概率出现了问题