我正在尝试isNaN在 Node.js 模块的箭头函数中使用全局函数,但出现此错误:
isNaN
[eslint] Unexpected use of 'isNaN'. (no-restricted-globals)
这是我的代码:
const isNumber = value => !isNaN(parseFloat(value)); module.exports = { isNumber, };
知道我在做什么错吗?
PS:我使用的是 AirBnB 风格指南。
正如文档所建议的,使用Number.isNaN.
Number.isNaN
const isNumber = value => !Number.isNaN(Number(value));
引用 Airbnb 的文档:
为什么?全局 isNaN 将非数字强制转换为数字,任何强制转换为 NaN 的都返回 true。如果需要此行为,请明确说明。
// bad isNaN('1.2'); // false isNaN('1.2.3'); // true // good Number.isNaN('1.2.3'); // false Number.isNaN(Number('1.2.3')); // true