Operador in
O operador in verifica se existe uma propriedade
em um objeto ou array e retorna
true ou false.
Sintaxe
'propriedade' in objeto;
Exemplo
Vamos ver como funciona o operador in:
let obj = {
name: 'Nick',
age: 23,
};
console.log('name' in obj); // true
console.log('age' in obj); // true
console.log('test' in obj); // false
Exemplo
Vamos ver como podemos aplicar o operador
in para verificar uma propriedade em
um array:
let arr = ['green', 'red', 'blue', 'pink']
console.log(0 in arr); // true, existe um elemento com este índice
console.log(4 in arr); // false, não existe elemento com este índice
console.log('four' in arr); // false, é necessário o índice, não o valor do elemento
console.log('length' in arr); // true, o array tem esta propriedade
Exemplo
Frequentemente, em vez de in, verificam se a propriedade em
contexto lógico é true:
let obj = {
name: 'John',
height: '177',
};
if ('name' in obj) {} // verificação na condição com in
if (obj.name) {} // mas geralmente escrevem assim
Ambas as opções podem ser usadas. Mas sempre
devemos lembrar que string vazia, 0,
null, NaN e undefined em contexto lógico
são false. Consequentemente, se a propriedade pode
ter um valor similar - devemos usar in.