[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/in_operator_no_object [Back]  [Original]

TypeError: cannot use 'in' operator to search for 'x' in 'y' - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

TypeError: cannot use 'in' operator to search for 'x' in 'y'

Der JavaScript-Ausnahmefehler "right-hand side of 'in' should be an object" tritt auf, wenn der in-Operator verwendet wird, um in Zeichenfolgen, Zahlen oder anderen primitiven Datentypen zu suchen. Er kann nur verwendet werden, um zu berprfen, ob eine Eigenschaft in einem Objekt vorhanden ist.

In diesem Artikel

Nachricht

TypeError: Cannot use 'in' operator to search for 'x' in 'y' (V8-based & Firefox)
TypeError: right-hand side of 'in' should be an object, got null (Firefox)
TypeError: "y" is not an Object. (evaluating '"x" in "y"') (Safari)

Fehlertyp

TypeError

Was ist schiefgelaufen?

Der in-Operator kann nur verwendet werden, um zu berprfen, ob eine Eigenschaft in einem Objekt vorhanden ist. Sie knnen nicht in Zeichenfolgen, Zahlen oder anderen primitiven Datentypen suchen.

Beispiele

Suchen in Zeichenfolgen

Im Gegensatz zu anderen Programmiersprachen (z.B. Python) knnen Sie nicht in Zeichenfolgen mit dem in-Operator suchen.

js
"Hello" in "Hello World";
// TypeError: cannot use 'in' operator to search for 'Hello' in 'Hello World'

Stattdessen mssen Sie String.prototype.includes() verwenden, zum Beispiel.

js
"Hello World".includes("Hello");
// true

Der Operand darf nicht null oder undefined sein

Stellen Sie sicher, dass das Objekt, das Sie untersuchen, nicht tatschlich null oder undefined ist.

js
const foo = null;
"bar" in foo;
// TypeError: cannot use 'in' operator to search for 'bar' in 'foo' (Chrome)
// TypeError: right-hand side of 'in' should be an object, got null (Firefox)

Der in-Operator erwartet immer ein Objekt.

js
const foo = { baz: "bar" };
"bar" in foo; // false

"PI" in Math; // true
"pi" in Math; // false

Suchen in Arrays

Seien Sie vorsichtig, wenn Sie den in-Operator verwenden, um in Array-Objekten zu suchen. Der in-Operator prft die Indexnummer, nicht den Wert an diesem Index.

js
const trees = ["redwood", "bay", "cedar", "oak", "maple"];
3 in trees; // true
"oak" in trees; // false

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page