Operatore in
L'operatore in verifica se esiste una proprietà
in un oggetto o in un array e restituisce
true oppure false.
Sintassi
'proprietà' in oggetto;
Esempio
Vediamo come funziona l'operatore 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
Esempio
Vediamo come si può applicare l'operatore
in per verificare una proprietà in
un array:
let 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:
let 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.