Como verificar se uma variável está definida?
Em JavaScript, às vezes você pode querer verificar se uma variável foi definida antes de usá-la no código, especialmente em casos onde a variável pode ser undefined
. Isso é especialmente importante para evitar erros, como ao tentar acessar ou manipular valores que não foram inicializados.
Usando typeof
para Verificar se a Variável Está Definida
A maneira mais comum e segura de verificar se uma variável está definida é usando o operador typeof
. Este operador retorna o tipo de uma variável como uma string. Quando a variável não foi definida, ele retorna "undefined"
, o que você pode usar para checar se a variável existe.
Exemplo de código:
let nome;
if (typeof nome !== 'undefined') {
console.log('A variável nome está definida.');
} else {
console.log('A variável nome não está definida.');
}
No exemplo acima, o código verifica se a variável nome
foi definida e exibe a mensagem correspondente no console. Como nome
não foi inicializada, a saída será 'A variável nome não está definida.'
.
Usando undefined
diretamente
Outra maneira de verificar se uma variável está definida é comparando-a diretamente com undefined
. No entanto, isso pode ser arriscado se a variável tiver o valor undefined
explicitamente atribuído, por isso, é recomendada a verificação com typeof
.
Exemplo de código:
let nome;
if (nome === undefined) {
console.log('A variável nome não está definida.');
} else {
console.log('A variável nome está definida.');
}
Neste caso, o resultado será o mesmo: 'A variável nome não está definida.'
. Contudo, o uso de typeof
é mais seguro, pois evita problemas caso a variável tenha sido explicitamente atribuída ao valor undefined
.
Verificando se uma variável foi inicializada
Se você deseja verificar se uma variável foi tanto declarada quanto inicializada, você pode usar a combinação de typeof
e uma comparação adicional, ou ainda recorrer ao uso de null
para conferir a inicialização.
Exemplo de código verificando inicialização:
let nome = null;
if (nome !== null && typeof nome !== 'undefined') {
console.log('A variável nome está inicializada.');
} else {
console.log('A variável nome não está inicializada.');
}
Aqui, a variável nome
é definida como null
, o que é um valor válido, mas não o mesmo que estar definida com um valor específico como string, número ou objeto.
Verificando Objetos e Propriedades
Quando você está lidando com objetos, você pode precisar verificar se uma propriedade de um objeto foi definida. Para isso, você pode usar o operador in
ou a verificação de undefined
diretamente para evitar erros ao acessar propriedades não definidas.
Exemplo de código para verificar propriedade de objeto:
let pessoa = { nome: 'João' };
if ('nome' in pessoa) {
console.log('A propriedade nome está definida.');
} else {
console.log('A propriedade nome não está definida.');
}
Aqui, verificamos se a propriedade nome
existe no objeto pessoa
. Como a propriedade foi definida, a saída será 'A propriedade nome está definida.'
.
Conclusão
Verificar se uma variável está definida é uma prática essencial para evitar erros em JavaScript, especialmente quando se lida com variáveis dinâmicas ou quando elas podem ser passadas por diferentes fluxos de código. Usar typeof
é a maneira mais segura de realizar essas verificações, enquanto outras abordagens, como comparações diretas com undefined
, podem ser úteis dependendo do seu caso de uso.
Como prevenir erros ao verificar variáveis não definidas em JavaScript
A verificação de variáveis não definidas é um ponto importante quando você está desenvolvendo aplicativos em JavaScript, especialmente se estiver lidando com dados dinâmicos ou entradas de usuários. Compreender como lidar com variáveis não inicializadas pode evitar muitos erros que ocorrem durante a execução do código, resultando em uma experiência de usuário mais estável e previsível. A combinação de typeof
e boas práticas de inicialização de variáveis ajuda a tornar seu código mais robusto e menos suscetível a falhas imprevistas.
Algumas aplicações:
- Garantir que variáveis sejam verificadas antes de serem usadas em cálculos ou operações.
- Evitar erros ao acessar propriedades de objetos ou arrays que podem não existir.
- Validar dados de entrada e garantir que eles estejam definidos antes de prosseguir com o processamento.
- Trabalhar com APIs ou dados de fontes externas e garantir que todas as variáveis estejam corretamente inicializadas antes de usá-las.
Dicas para quem está começando
- Use
typeof
para verificar se uma variável está definida, já que ele lida bem com variáveis não inicializadas. - Evite depender de comparações diretas com
undefined
, pois isso pode gerar problemas com variáveis explicitamente definidas comoundefined
. - Considere inicializar variáveis com valores padrão para evitar erros ao verificar se elas estão definidas.
- Pratique com objetos e propriedades para entender como verificar se uma propriedade existe antes de acessá-la.

Isabela Oliveira
Desenvolvedora front-end focada em JavaScript e experiência de usuário (UX).
Mais sobre o autor