Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. JavaScript-Fehlerreferenz
  5. TypeError: cannot use 'in' operator to search for 'x' in 'y'

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

View in EnglishAlways 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 derin-Operator verwendet wird, um in Zeichenfolgen, Zahlen oder anderen primitiven Datentypen zu suchen. Er kann nur verwendet werden, um zu überprüfen, ob eine Eigenschaft in einem Objekt vorhanden ist.

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?

Derin-Operator kann nur verwendet werden, um zu überprüfen, ob eine Eigenschaft in einem Objekt vorhanden ist. Sie können nicht in Zeichenfolgen, Zahlen oder anderen primitiven Datentypen suchen.

Beispiele

Suchen in Zeichenfolgen

Im Gegensatz zu anderen Programmiersprachen (z.B. Python) können Sie nicht in Zeichenfolgen mit demin-Operator suchen.

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

Stattdessen müssen SieString.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 tatsächlichnull oderundefined 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)

Derin-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 denin-Operator verwenden, um inArray-Objekten zu suchen. Derin-Operator prüft 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

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp