JavaScript · Essencial · Inglês · Técnico
NaN
Valor numérico especial, 'not a number', resultante de operações inválidas como 0/0 ou Number('abc'). É o único valor que não é igual a si mesmo.
Onde usar
Aparece quando uma conversão para número falha e se propaga por todo cálculo seguinte, escondendo a origem do erro. Para testar, use Number.isNaN, não comparação com ===.
Em código
const n = Number('abc');
console.log(n === NaN); // false
console.log(Number.isNaN(n)); // true
console.log(typeof n); // 'number'Exemplos
The calculation propagated a NaN all the way to the UI.
O cálculo propagou um NaN até a interface.
Use Number.isNaN, because NaN is never equal to itself.
Use Number.isNaN, porque NaN nunca é igual a si mesmo.
Cuidado
Escrever x === NaN, que sempre dá false. Evite também o isNaN global, que converte o argumento antes de testar.
Origem
Sigla de Not a Number, definida no padrão IEEE 754.