Testar se uma variável é undefined no javascript

Para testar se uma variável é undefined ou null pode-se compará-la com as palavras chave undefined e null usando os operadores:
== (valor igual),
!= (valor diferente),
=== (estritamente igual, mesmo valor e tipo),
!== (diferente, tipo diferente)

No script abaixo existe uma variável y não declarada. Por causa dela uma exceção é gerada e tratada no catch logo abaixo.

Sempre é necessário verificar se uma variável/objeto é nula ou undefined antes de se usá-la, chamar seus métodos ou alterar suas propriedades.
É a não verificação dessas duas condições que sempre causa erros de script na página (objetos que não existem, que são nulos etc...).

O try ... catch vai garantir que você encontre o erro mesmo que esqueça dessas coisas essenciais, e seu script não para de funcionar, mesmo com erro.

 

 
 
  

Teste de Undefined

   var x;
   
   try
   {
    if(x == null)
    {
     document.getElementById('resultado').innerHTML   += "x é == null 
";
    }
    else
    {
     document.getElementById('resultado').innerHTML   += "x é != null 
";
    }
    
    
    if(x === null)
    {
     document.getElementById('resultado').innerHTML   += "x é === null 
";
    }
    else
    {
     document.getElementById('resultado').innerHTML   += "x é !== null 
";
    } 




    if(x == undefined)
    {
     document.getElementById('resultado').innerHTML   += "x é == undefined 
";
    }
    else
    {
     document.getElementById('resultado').innerHTML   += "x é != undefined 
";
    }
    
    
    if(x === undefined)
    {
     document.getElementById('resultado').innerHTML   += "x é === undefined 
";
    }
    else
    {
     document.getElementById('resultado').innerHTML   += "x é !== undefined 
";
    } 





    if(y == null)
    {
     document.getElementById('resultado').innerHTML   += "y é == null 
";
    }
    else
    {
     document.getElementById('resultado').innerHTML   += "y é != null 
";
    }
    
    
    if(y === null)
    {
     document.getElementById('resultado').innerHTML   += "y é === null 
";
    }
    else
    {
     document.getElementById('resultado').innerHTML   += "y é !== null 
";
    } 




    if(y == undefined)
    {
     document.getElementById('resultado').innerHTML   += "y é == undefined 
";
    }
    else
    {
     document.getElementById('resultado').innerHTML   += "y é != undefined 
";
    }
    
    
    if(y === undefined)
    {
     document.getElementById('resultado').innerHTML   += "y é === undefined 
";
    }
    else
    {
     document.getElementById('resultado').innerHTML   += "y é !== undefined 
";
    } 
   }
   catch(e)
   {
    alert(e.message);
   }

Peguei no stack overflow:

 http://stackoverflow.com/questions/7041123/test-if-something-is-undefined-in-javascript

Comentários

Postagens mais visitadas deste blog

Detectar o encoding de um arquivo para não corromper ao transformá-lo

erro "ora-12154: tns: não foi possível resolver o identificador de conexão especificado"

Quebras de linha no Delphi 2010