类型定义
根据 ECMAScript 标准,JavaScript 中只有一种数字类型:
基于 IEEE 754 标准的双精度 64 位二进制格式的值(-(2^53 -1) 到 2^53 -1)。
它并没有为整数给出一种特定的类型。
除了能够表示浮点数外,还有一些带符号的值:
+Infinity
-Infinity
NaN (非数值,Not-a-Number)
检测一个数字是否大于或小于 +/-Infinity,通常使用常量:
Number.MAX_VALUE
Number.MIN_VALUE
另外,
在 ECMAScript 6 中,可以通过
Number.isSafeInteger()
Number.MAX_SAFE_INTEGER
Number.MIN_SAFE_INTEGER
来检查值是否在双精度浮点数的取值范围内。
数字类型中,只有一个整数有两种表示方法:0 可表示为 -0 和 +0("0" 是 +0 的简写)。
在实践中,这也几乎没有影响。 例如 +0 === -0 为真。 但是,要注意除以0的时候:
21 / +0; // Infinity
21 / -0; // -Infinity