De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Dicas de Programação - Qual a diferença entre NaN, null e undefined no Javascript?

Colaboração: Ricardo Takemura

Data de Publicação: 18 de fevereiro de 2016

O NaN é um resultado de uma operação ou de uma função que não conseguiu retornar um número real válido. Exemplo:

  var a = parseInt("aaaa"); 
  var b = 0/0; 

null é quando o valor de uma variável esta setada como vazia:

  var c = null; 

O undefined é quando uma variável não tem um valor definido ou uma variável não esta definida:

  var d; 
  alert(typeof(e)); 

Utilizando o operador de comparação os resultados serão:

Para a = parseInt("aaaa") ou b = 0/0

  a == Number.NaN -> false (????) 
  a === Number.NaN -> false (????) 
  a == a -> false (????) 
  a === a -> false (????) 
  isNaN(a) -> true 

As demais comparações serão false, pois a variável "a" possui um valor.

Para c = null

  c == null -> true 
  c === null -> true 
  c == undefined -> true 
  c === undefined -> false 

Para d = undefined

  d == null -> true 
  d === null -> false 
  d == undefined -> true 
  d === undefined -> true 

Variável "e" não definido

  typeof(e) == "undefined" -> true 
  typeof(e) === "undefined" -> true 

As demais comparações serão false, pois o typeof retorna string.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Ricardo Takemura