Der in operator gibt true zurück falls die gegebene Eigenschaft im gegebenen Objekt existiert.

Syntax

prop in object

Parameter

prop
Ein String oder Symbol welches einen Namen einer Eigenschaft oder einen Arrayindex (nicht Symbole werden in einen String konvertiert).
object
Objekts, bei welchem überprüft wird, ob eine Eigenschaft mit spezifiziertem Namen enthalten ist (oder in der Prototypenkette enthalten ist).

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 ES2015+))

// 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 Latest 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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidEdge MobileFirefox für AndroidOpera für AndroidiOS SafariSamsung InternetNode.js
Grundlegende UnterstützungChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 1IE Vollständige Unterstützung JaOpera Vollständige Unterstützung JaSafari Vollständige Unterstützung JaWebView Android Vollständige Unterstützung JaChrome Android Vollständige Unterstützung JaEdge Mobile Vollständige Unterstützung JaFirefox Android Vollständige Unterstützung 4Opera Android Vollständige Unterstützung JaSafari iOS Vollständige Unterstützung JaSamsung Internet Android Vollständige Unterstützung Janodejs Vollständige Unterstützung Ja

Legende

Vollständige Unterstützung  
Vollständige Unterstützung

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: schlagi123, kdex, xergon
Zuletzt aktualisiert von: schlagi123,