--- title: in operator slug: Web/JavaScript/Reference/Operators/in tags: - JavaScript - Operator - Relational Operators translation_of: Web/JavaScript/Reference/Operators/in ---
Der in operator gibt true zurück, falls die gegebene Eigenschaft im gegebenen Objekt existiert.
prop in object
propobjectDie 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
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 {{jsxref("Global_Objects/undefined", "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
Der in Operator gibt true für Eigenschaften in der Prototype-Kette zurück.
"toString" in {}; // gibt true zurück
| Spezifikation | Status | Kommentar |
|---|---|---|
| {{SpecName('ESDraft', '#sec-relational-operators', 'Relational Operators')}} | {{Spec2('ESDraft')}} | |
| {{SpecName('ES2015', '#sec-relational-operators', 'Relational Operators')}} | {{Spec2('ES2015')}} | |
| {{SpecName('ES5.1', '#sec-11.8.7', 'The in Operator')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES3', '#sec-11.8.7', 'The in Operator')}} | {{Spec2('ES3')}} | Initiale Definition. Implementiert in JavaScript 1.4. |
{{Compat("javascript.operators.in")}}
for...indelete