Der in operator gibt true zurück falls die gegebene Eigenschaft im gegebenen Objekt existiert.
Syntax
prop in objectName
Parameter
prop
- Ein String oder Symbol welches einen Namen einer Eigenschaft oder einen Arrayindex (nicht Symbole werden in einen String konvertiert).
objectName
- Name eines Objekts
Beschreibung
Die folgenden Beispiele zeigen einige Verwendungen des Operators
// Arrays var trees = ["redwood", "bay", "cedar", "oak", "maple"]; 0 in trees // gibt true zurück 3 in trees // gibt true zurück 6 in trees // gibt false zurück "bay" in trees // gibt false zurück (man muss den Index // spezifizieren, nicht den Wert an dem Index) "length" in trees // gibt true (length ist eine Eigenschaft von Array Symbol.iterator in trees // gibt true zurück (Arrays sind iterable, funktioniert nur in ES6+)) // Vordefinierte Objekte "PI" in Math // gibt true zurück // Eigene Objekte var mycar = {make: "Honda", model: "Accord", year: 1998}; "make" in mycar // gibt true zurück "model" in mycar // gibt true zurück
Man muss auf der rechten Seite des in
Operators ein Objekt benutzen. Zum Beispiel kann ein String, der durch einen Konstruktor erstellt wurde, benutzt werden, jedoch funktioniert kein Stringliteral.
var color1 = new String("green"); "length" in color1 // gibt true zurück var color2 = "coral"; // erzeugt einen Fehler (color2 ist kein String Objekt) "length" in color2
Einsatz von in
mit gelöschten oder undefined Eigenschaften.
Wenn eine Eigenschaft mit dem delete
Operator gelöscht wird, wird der in
für diese Eigenschaft false
zurückgeben.
var mycar = {make: "Honda", model: "Accord", year: 1998}; delete mycar.make; "make" in mycar; // gibt false zurück var trees = new Array("redwood", "bay", "cedar", "oak", "maple"); delete trees[3]; 3 in trees; // gibt false zurück
Wenn eine Eigenschaft auf undefined
gesetzt wird, aber nicht gelöscht wird, wird der in
Operator true
zurückgeben.
var mycar = {make: "Honda", model: "Accord", year: 1998}; mycar.make = undefined; "make" in mycar; // gibt true zurück
var trees = new Array("redwood", "bay", "cedar", "oak", "maple"); trees[3] = undefined; 3 in trees; // gibt true zurück
Vererbte Eigenschaften
Der in
Operator gibt true
für Eigenschaften in der Prototype-Kette zurück.
"toString" in {}; // gibt true zurück
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 2017 Draft (ECMA-262) Die Definition von 'Relational Operators' in dieser Spezifikation. |
Entwurf | |
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Relational Operators' in dieser Spezifikation. |
Standard | |
ECMAScript 5.1 (ECMA-262) Die Definition von 'The in Operator' in dieser Spezifikation. |
Standard | |
ECMAScript 3rd Edition (ECMA-262) Die Definition von 'The in Operator' in dieser Spezifikation. |
Standard | Initiale Definition. Implementiert in JavaScript 1.4. |
Browserkompatibilität
Feature | Chrome | Firefox (Gecko) | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
Siehe auch
Schlagwörter des Dokuments und Mitwirkende
Schlagwörter:
Mitwirkende an dieser Seite:
schlagi123,
xergon
Zuletzt aktualisiert von:
schlagi123,