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");