ESLint неожиданное использование isNaN



Я пытаюсь использовать isNaN глобальная функция внутри функции стрелки в узле.модуль на JS, но я получаю эту ошибку:



[eslint] Unexpected use of 'isNaN'. (no-restricted-globals)



Это мой код:



const isNumber = value => !isNaN(parseFloat(value));

module.exports = {
isNumber,
};


есть идеи о том, что я делаю неправильно?



PS: я использую руководство по стилю AirBnB.

628   2  

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

    Ничего не найдено.