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.