Operador in em objetos


O operador in em JavaScript é uma declaração utilizada para verificar se um objeto contém uma determinada propriedade. Ele retorna true se a propriedade especificada estiver presente no objeto, e false caso contrário.

Sintaxe

A sintaxe básica do operador in é a seguinte:

propriedade in objeto

Onde:

  • propriedade: é a propriedade que estamos verificando se existe no objeto.
  • objeto: é o objeto no qual estamos verificando a existência da propriedade.

Exemplo

const carro = {
  marca: "Toyota",
  modelo: "Corolla",
  ano: 2022
};
 
console.log("marca" in carro); // true
console.log("cor" in carro); // false

Neste exemplo, o operador in é utilizado para verificar se o objeto carro possui as propriedades “marca” e “cor”. Como o objeto possui a propriedade “marca”, a primeira verificação retorna true, enquanto a segunda, referente à propriedade “cor”, retorna false, indicando que essa propriedade não está presente no objeto.

Considerações Importantes

  • O operador in verifica a existência da propriedade tanto nas propriedades próprias quanto nas herdadas através da cadeia de protótipos do objeto.

  • Para evitar a verificação de propriedades herdadas, é possível utilizar o método hasOwnProperty(), que retorna true apenas se a propriedade for uma propriedade própria do objeto, excluindo as herdadas.

console.log(pessoa.hasOwnProperty("idade")); // true
console.log(pessoa.hasOwnProperty("toString")); // false

Referências