De in-operator

De operator in controleert of een eigenschap aanwezig is in een object of array en retourneert true of false.

Syntaxis

javascript'eigenschap' in object;

Voorbeeld

Laten we kijken hoe de operator in werkt:

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

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

Voorbeeld

Laten we kijken hoe we de operator in kunnen toepassen om een eigenschap in een array te controleren:

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

console.log(0 in arr); // true, er is een element met deze index
console.log(4 in arr); // false, er is geen element met deze index
console.log('four' in arr); // false, er is een index nodig, niet de waarde van het element
console.log('length' in arr); // true, de array heeft zo'n eigenschap

Voorbeeld

Vaak controleren ze, in plaats van in, of de eigenschap in een logische context - true is:

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

if ('name' in obj) {} // controle in voorwaarde met in
if (obj.name) {} // maar vaker schrijven ze zo

Beide opties kunnen worden gebruikt. Maar men moet altijd onthouden dat een lege string, 0, null, NaN en undefined in een logische context - false zijn. Dus als de eigenschap dergelijke waarde kan hebben - moet men in gebruiken.