Der in-Operator

Der Operator in prüft, ob eine Eigenschaft in einem Objekt oder Array existiert und gibt true oder false zurück.

Syntax

javascript'Eigenschaft' in Objekt;

Beispiel

Sehen wir uns an, wie der Operator in funktioniert:

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

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

Beispiel

Sehen wir uns an, wie der Operator in zur Überprüfung von Eigenschaften in einem Array angewendet werden kann:

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

console.log(0 in arr); // true, es gibt ein Element mit diesem Index
console.log(4 in arr); // false, es gibt kein Element mit diesem Index
console.log('four' in arr); // false, Index benötigt, nicht der Elementwert
console.log('length' in arr); // true, das Array hat diese Eigenschaft

Beispiel

Oft wird statt in überprüft, ob die Eigenschaft im logischen Kontext - true ist:

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

if ('name' in obj) {} // Überprüfung in der Bedingung mit in
if (obj.name) {} // aber häufiger wird so geschrieben

Beide Varianten können verwendet werden. Aber man sollte immer bedenken, dass ein leerer String, 0, null, NaN und undefined im logischen Kontext - false sind. Folglich, wenn die Eigenschaft einen solchen Wert haben könnte - sollte in verwendet werden.