JavascriptNaN

Resumo : neste tutorial, você aprenderá sobre JavasScript NaN, como verificar se um valor é NaNe como lidar NaNcom eficácia.

Introdução ao JavaScriptNaN

JavaScript tem o tipo de número que permite representar números, incluindo números inteiros e de ponto flutuante. E o número JavaScript tem um valor especial chamado , que NaNsignifica NotaNúmero .

The NaNé uma propriedade do objeto global . O objeto global é o window objeto nos navegadores da web:

window.NaNLinguagem de código:  JavaScript  ( javascript )

E o objeto global em Node.js.

global.NaNLinguagem de código:  CSS  ( css )

O NaNtem o tipo numbermostrado no código a seguir:

console.log(typeof NaN); // numberLinguagem de código:  JavaScript  ( javascript )

Verificando se um valor é NaN

JavaScript fornece a função global isNaN()que retorna truese seu argumento for NaN:

isNaN(valueToCheck)Linguagem de código:  JavaScript  ( javascript )

Por exemplo:

const result = 100 + 0 / 0;
console.log(isNaN(result)); // trueLinguagem de código:  JavaScript  ( javascript )

Por que usar NaN

JavaScript usa NaNcomo resultado de uma operação com falha em números, incluindo:

  • Analisando números
  • Usando undefinedcomo operando
  • Usando NaNcomo operando
  • Usando formas indeterminadas
  • Passando argumentos inválidos para uma função matemática

Operações retornam NaN

1) Análise de números

Em JavaScript, você pode converter uma string numérica em um número. Por exemplo:

const input = '100';
const num = parseInt(input);

console.log(num); // 100Linguagem de código:  JavaScript  ( javascript )

Se o JavaScript não puder converter uma string em um número, ele retornará NaN. Neste caso, NaNindica que a análise falhou. Por exemplo:

const input = 'X100';
const num = parseInt(input);

console.log(num); // NaNLinguagem de código:  JavaScript  ( javascript )

É uma boa prática verificar o resultado da análise usando a isNaNfunção:

const input = 'X100';
const num = parseInt(input);

// set num to 0 if parsing failed
if (isNaN(num)) {
    num = 0;
}

console.log(num); // 0Linguagem de código:  JavaScript  ( javascript )

Neste exemplo, a análise falhou e, portanto, retornou NaN. A condição isNaN(num)é verdadeira para que o número seja atribuído a 0.

2) Use indefinido como operando

Uma expressão usada undefinedcomo operando retorna NaN. Por exemplo:

console.log(undefined * 2); // NaNLinguagem de código:  JavaScript  ( javascript )

Na prática, você lidará com indefinidos com bastante frequência. Por exemplo, quando você acessa uma propriedade inexistente de um elemento HTML e a utiliza em um cálculo.

É uma boa prática evitar o uso undefinedem cálculos.

3) Usando NaN como operando

Quando uma expressão possui NaN, ela sempre retorna NaN. Por exemplo:

const result = 10 + 1 / NaN;

console.log(result); // NaNLinguagem de código:  JavaScript  ( javascript )

4) Usando formas indeterminadas

Quando uma operação aritmética está na forma indeterminada, ela retorna NaN. Por exemplo:

const result = 10 + 0 / 0;
console.log(result); // NaNLinguagem de código:  JavaScript  ( javascript )

5) Usando argumentos inválidos de funções matemáticas

Quando uma função matemática recebe um argumento inválido, ela retorna NaN. Por exemplo:

const result = Math.sqrt(-1);
console.log(result); // NaNLinguagem de código:  JavaScript  ( javascript )

Neste exemplo, o Math.sqrt()que retorna a raiz quadrada de um número. Como aceita apenas um número não negativo, passar -1 resulta em NaN.

Resumo

  • NaN significa Não-um-Número. É um valor especial da NaNpropriedade do objeto global.
  • NaN indica uma operação com falha em números.
  • Use isNaN()a função para verificar se um valor é NaN.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *