Operatore in

L'operatore in verifica se esiste una proprietà in un oggetto o in un array e restituisce true oppure false.

Sintassi

javascript'proprietà' in oggetto;

Esempio

Vediamo come funziona l'operatore 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

Esempio

Vediamo come si può applicare l'operatore in per verificare una proprietà in un array:

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

console.log(0 in arr); // true, esiste un elemento con questo indice
console.log(4 in arr); // false, non esiste un elemento con questo indice 
console.log('four' in arr); // false, serve l'indice, non il valore dell'elemento
console.log('length' in arr); // true, l'array ha questa proprietà 

Esempio

Spesso, invece di in, si verifica che la proprietà in un contesto logico sia true:

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

if ('name' in obj) {} // verifica nella condizione con in
if (obj.name) {} // ma più spesso si scrive così

Entrambe le opzioni possono essere utilizzate. Ma bisogna sempre tenere a mente che una stringa vuota, 0, null, NaN e undefined in un contesto logico sono false. Di conseguenza, se una proprietà può avere un valore simile, è opportuno usare in.