Ads

Para verificarmos se uma variável existe ou se ela está indefinida (undefined) podemos usar o operador typeof do JavaScript. O operador typeof retorna uma string indicando o tipo da variável que queremos testar.

Exemplo;

<script>
  minhaOutraVariavel = "Olá";

  if (typeof minhaVariavel == "undefined") 
  {
     alert("Ops! Parece que esta variável não existe ou não está definida neste escopo!");
  }

  if (typeof minhaOutraVariavel != "undefined") 
  {
     alert("Legal, achei esta variável dentro do escopo!"); 
  } 
</script>

.

A lógica por trás das variáveis undefined

JavaScript, essencialmente não trabalha com tipos de variáveis como string, double, int, etc.. Portanto, quando criamos uma variável em JS é necessário darmos um valor a ela para definirmos o tipo dela. (Você notou que deixei a palavra definirmos em negrito?).

Seguindo este raciocínio entendemos então que se a variável não tem valor, logo ela não está definida, ou seja, ela não sabemos com qual tipo de dado iremos trabalhar.

Continuando o raciocínio, não é possível verificar se uma variável existe ou não, até mesmo porque elas podem ser criadas em tempo de execução, então a forma mais interessante de fazer isso é verificar se uma variável está tipada ou não. Se entendermos que uma determinada variável não possui tipo então deduzimos que ela não existe.

Ads

Anderson Oliveira

Anderson Oliveira é desenvolvedor, escritor e docente no CEETPS - Centro Estadual de Educação Tecnologia de São Paulo. Atualmente trabalha na Administração Central do CPS e leciona aulas de programação na Etec Prof. Carmine Biagio Tundisi de Atibaia.