TypeError: kann Eigenschaft „x“ auf „y“ nicht zuweisen: kein Objekt
Die JavaScript Strict-Mode-Ausnahme "kann Eigenschaft nicht zuweisen" tritt auf, wenn versucht wird, eine Eigenschaft auf einem Primitiv wie einem Symbol, einem String, einer Nummer oder einem Boolean zu erstellen. Primitive Werte können keine Eigenschaften enthalten.
Meldung
TypeError: Cannot create property 'x' on number '1' (V8-based) TypeError: can't assign to property "x" on 1: not an object (Firefox) TypeError: Attempted to assign to readonly property. (Safari)
Fehlertyp
Was ist schiefgelaufen?
Im Strict Mode wird ein TypeError
ausgelöst, wenn versucht wird, eine Eigenschaft auf einem Primitiv wie einem Symbol, einem String, einer Nummer oder einem Boolean zu erstellen. Primitive Werte können keine Eigenschaften enthalten.
Das Problem könnte sein, dass ein unerwarteter Wert an unerwarteter Stelle eingesetzt wird oder dass eine Objektvariante eines String
oder einer Number
erwartet wird.
Beispiele
Ungültige Fälle
"use strict";
const foo = "my string";
// The following line does nothing if not in strict mode.
foo.bar = {}; // TypeError: can't assign to property "bar" on "my string": not an object