Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. JavaScript-Fehlerreferenz
  5. TypeError: "x" ist (nicht) "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: "x" ist (nicht) "y"

Der JavaScript-Fehler "x ist (nicht)y" tritt auf, wenn ein unerwarteter Typ vorhanden ist. Oftmals handelt es sich um unerwarteteundefined- odernull-Werte.

Nachricht

TypeError: Cannot read properties of undefined (reading 'x') (V8-based)TypeError: "x" is undefined (Firefox)TypeError: "undefined" is not an object (Firefox)TypeError: undefined is not an object (evaluating 'obj.x') (Safari)TypeError: "x" is not a symbol (V8-based & Firefox)TypeError: Symbol.keyFor requires that the first argument be a symbol (Safari)

Fehlertyp

TypeError.

Was ist schiefgelaufen?

Es gab einen unerwarteten Typ. Dies tritt häufig beiundefined- odernull-Werten auf.

Auch erfordern bestimmte Methoden, wieObject.create() oderSymbol.keyFor(), einen bestimmten Typ, der bereitgestellt werden muss.

Beispiele

Ungültige Fälle

Sie können keine Methode auf einerundefined- odernull-Variable aufrufen.

js
const foo = undefined;foo.substring(1); // TypeError: foo is undefinedconst foo2 = null;foo2.substring(1); // TypeError: foo2 is null

Bestimmte Methoden könnten einen bestimmten Typ erfordern.

js
const foo = {};Symbol.keyFor(foo); // TypeError: foo is not a symbolconst foo2 = "bar";Object.create(foo2); // TypeError: "foo2" is not an object or null

Beheben des Problems

Um einen Nullzeiger aufundefined- odernull-Werte zu beheben, können Sie zuerst testen, ob der Wertundefined odernull ist.

js
if (foo !== undefined && foo !== null) {  // Now we know that foo is defined, we are good to go.}

Oder, wenn Sie sicher sind, dassfoo kein andererfalsy-Wert wie"" oder0 sein wird, oder wenn das Filtern dieser Fälle kein Problem darstellt, können Sie einfach auf seine Wahrhaftigkeit testen.

js
if (foo) {  // Now we know that foo is truthy, it will necessarily not be null/undefined.}

Siehe auch

Help improve MDN

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

[8]ページ先頭

©2009-2025 Movatter.jp