ESLint неожиданное использование isNaN
Я пытаюсь использовать isNaN глобальная функция внутри функции стрелки в узле.модуль на JS, но я получаю эту ошибку:
[eslint] Unexpected use of 'isNaN'. (no-restricted-globals)
Это мой код:
const isNumber = value => !isNaN(parseFloat(value));
module.exports = {
isNumber,
};
есть идеи о том, что я делаю неправильно?
PS: я использую руководство по стилю AirBnB.
2 ответов:
как документация предполагает используйте
Number.isNaN.const isNumber = value => !Number.isNaN(parseFloat(value));
со ссылкой на Airbnb-это:почему? Глобальный isNaN принуждает не-числа к числам, возвращая 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
к вашему сведению, это не будет работать для IE. Проверьте здесь на совместимость с браузерами.
Comments