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
'Eigenschaft' in Objekt;
Beispiel
Sehen wir uns an, wie der Operator in funktioniert:
let 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:
let 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:
let 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.