unicorn/prefer-number-properties 限制
功能說明
禁止使用 parseInt()
、parseFloat()
、isNan()
、isFinite()
、Nan
、Infinity
和 -Infinity
作為全域變數。
為什麼這樣不好?
ECMAScript 2015 將全域變數移至 Number
建構子以保持一致性並稍微改善它們。此規則強制使用它們以限制全域變數的使用
- 使用
Number.parseInt()
而不是parseInt()
- 使用
Number.parseFloat()
而不是parseFloat()
- 使用
Number.isNaN()
而不是isNaN()
(它們的行為略有不同) - 使用
Number.isFinite()
而不是isFinite()
(它們的行為略有不同) - 使用
Number.NaN
而不是NaN
- 使用
Number.POSITIVE_INFINITY
而不是Infinity
- 使用
Number.NEGATIVE_INFINITY
而不是-Infinity
範例
此規則的錯誤程式碼範例
javascript
const foo = parseInt("10", 2);
const bar = parseFloat("10.5");
此規則的正確程式碼範例
javascript
const foo = Number.parseInt("10", 2);
const bar = Number.parseFloat("10.5");