關於Infinity
1. 滿足數學性質
Infinity === Infinity; // true
Infinity + 1 === Infinity; // true
Infinity * 2 === Infinity; // true
Infinity * Infinity === Infinity; // true
Infinity - Infinity; // NaN
Infinity / Infinity; // NaN
1 / Infinity; // 0
1 / 0; // Infinity
1 / -0; // -Infinity
2. 用來區分正負零
默認的===
是不區分正負零的,不支持Object.is()
時可以使用Infinity
if(1/num === -Infinity) return -1; // 負零
if(1/num === Infinity) return 1; // 正零
3. Number.isFinite()
判斷
- 功能等同於
num !== Infinity && num !== -Infinity
- 該方法同時掛在了全局
window
下,可直接訪問
4. Number
下的方法和屬性
靜態屬性:
- EPSILON
- MAX_SAFE_INTEGER / MIN_SAFE_VALUE
- MAX_VALUE / MIN_VALUE
- POSITIVE_INFINITY / NEGATIVE_INFINITY
- NaN
全局方法:
- isNaN()
- isFinite()
靜態方法:
- isInteger()
- isSafeInteger