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大于NaNNumber.POSITIVE_INFINITY大于InfinityNumber.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");