Fehlermeldung

TypeError: "x" is not a non-null object (Firefox)
TypeError: Property description must be an object: "x" (Chrome)
TypeError: Invalid value used in weak set (Chrome)

Fehlertyp

TypeError

Was ist falsch gelaufen?

Ein Objekt wird erwartete aber nicht übergeben. null ist kein Objekt und funktioniert nicht. In dieser Situation wird ein normales Objekt erwartet.

Beispiele

Eigehscgaftsbeschreibung erwartet

Wenn Methoden wie Object.create() oder Object.defineProperty() und Object.defineProperties() eingesetzt werden, wird als optionale Beschreibung ein Beschreibungsobjekt erwartet. Wenn kein Objekt übergeben wird (z. B. eine Zahl), wird ein Fehler erzeugt:

Object.defineProperty({}, 'key', 1);
// TypeError: 1 is not a non-null object

Object.defineProperty({}, 'key', null);
// TypeError: null is not a non-null object

Ein valides Beschreibungsobjekt kann wie folgendes aussehen:

Object.defineProperty({}, 'key', { value: 'foo', writable: false });

WeakMap und WeakSet Objekte benötigen Objektschlüssel

WeakMap und WeakSet Objekte speichern Objektschlüssel. Man kann keine anderen Schlüssel verwenden.

var ws = new WeakSet();
ws.add('foo');
// TypeError: "foo" is not a non-null object

Stattdessen sollte folgendes verwendet werden:

ws.add({foo: 'bar'});
ws.add(window);

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,