JavaScript

Como verificar se uma chave existe em um objeto JavaScript

9 de novembro de 2020

Como verificar se uma chave existe em um objeto JavaScript

Neste artigo você vai aprender a como verificar se uma chave existe em um objeto na linguagem JavaScript, de uma maneira simples e eficiente

verificar se uma chave existe em um objeto capa

Fala programador(a), beleza? Bora aprender a como checar objetos em JavaScript!

Podemos checar se uma chave existe com o operador in, ele vai retornar um booleano como resposta

Se a chave estiver no objeto retorna true, caso não retorna false

Veja na prática:

var obj = {
    'nome': 'Matheus',
  'idade': 29
}

console.log('nome' in obj); // true
console.log('profissao' in obj); // false

Porém há uma outra situação que devemos ficar de olho, quando a chave existe mas não possui valor

Para esta checagem podemos utilizar o comparador !==, lembrando que uma chave sem valor retorna undefined

Veja na prática:

var obj = {
    'nome': 'Matheus',
  'idade': 29,
  'profissao': undefined
}

console.log(obj['nome'] !== undefined); // true
console.log(obj['profissao'] !== undefined); // false

Um último caso, porém também bem interessante é: a checagem de propriedades originadas no próprio objeto

Ou seja, que não foram herdadas e sim são de origem do objeto

Para esta checagem vamos utilizar o método hasOwnProperty, veja:

var obj = {
    'nome': 'Matheus',
  'idade': 29,
  'profissao': undefined
}

console.log(obj.hasOwnProperty('nome')); // true
console.log(obj.hasOwnProperty('nacionalidade')); // false

Agora você tem todas as ferramentas necessárias para validar a presença ou não de uma chave em um objeto na linguagem JavaScript, utilize a abordagem que melhor se encaixa na sua situação

Conclusão

Neste artigo vimos como verificar se uma chave existe em um objeto em JavaScript

Utilizamos vários métodos que possibilitam ver se a chave está presente

Como o operador in e também o método hasOwnProperty

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

0
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x