Operador in

El operador in verifica si existe una propiedad en un objeto o array y devuelve true o false.

Sintaxis

javascript'propiedad' in objeto;

Ejemplo

Veamos cómo funciona el operador in:

javascriptlet obj = {
  name: 'Nick',
  age:  23,
};

console.log('name' in obj); // true
console.log('age'  in obj); // true
console.log('test' in obj); // false

Ejemplo

Veamos cómo se puede aplicar el operador in para verificar una propiedad en un array:

javascriptlet arr = ['green', 'red', 'blue', 'pink']

console.log(0 in arr); // true, existe un elemento con ese índice
console.log(4 in arr); // false, no existe un elemento con ese índice 
console.log('four' in arr); // false, se necesita el índice, no el valor del elemento
console.log('length' in arr); // true, el array tiene esta propiedad 

Ejemplo

A menudo, en lugar de in, verifican que la propiedad en contexto lógico sea true:

javascriptlet obj = {
  name: 'John',
  height: '177',
};

if ('name' in obj) {} // verificación en condición con in
if (obj.name) {} // pero más a menudo se escribe así

Se pueden usar ambas opciones. Pero siempre hay que recordar que una cadena vacía, 0, null, NaN y undefined en contexto lógico son false. En consecuencia, si la propiedad puede tener un valor similar, se debe usar in.