variable quitar problema isnan error ejemplo como javascript eslint

quitar - nan javascript parseint



ESLint Uso inesperado de isNaN (3)

Como sugiere la documentación , use Number.isNaN .

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

Citando la documentación de Airbnb:

¿Por qué? El isNaN global coacciona los no números a números, devolviéndose verdadero para todo lo que coacciona a NaN. Si se desea este comportamiento, explíquelo.

// bad isNaN(''1.2''); // false isNaN(''1.2.3''); // true // good Number.isNaN(''1.2.3''); // false Number.isNaN(Number(''1.2.3'')); // true

Estoy tratando de usar la función global isNaN dentro de una función de flecha en un módulo Node.js pero recibo este error:

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

Este es mi código:

const isNumber = value => !isNaN(parseFloat(value)); module.exports = { isNumber, };

¿Alguna idea de lo que estoy haciendo mal?

PD: estoy usando la guía de estilo AirBnB.


En mi caso, quería tratar 5 (entero), 5.4 (decimal), ''5'', ''5.4'' como números, pero nada más, por ejemplo.

Si tiene los requisitos similares, a continuación puede funcionar mejor:

const isNum = num => /^/d+$/.test(num) || /^/d+/./d+$/.test(num); //Check your variable if it is a number. let myNum = 5; console.log(isNum(myNum))

Para incluir números negativos:

const isNum = num => /^-?/d+$/.test(num) || /^-?/d+/./d+$/.test(num);

Esto eliminará su problema de uso global de isNaN también. Si convierte la función isNum en una función ES5 normal, también funcionará en el navegador IE.


Para su información, esto no funcionará para IE. Verifique here compatibilidad del navegador.