Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
TypeError: kann Eigenschaft "x" nicht auf "y" zuweisen: kein Objekt
Die JavaScript-Striktmodus-Ausnahme "kann Eigenschaft nicht zuweisen" tritt auf, wenn versucht wird, eine Eigenschaft auf einemprimitiven Wert wie einemSymbol, einemString, einerZahl oder einemBoolean zu erstellen.Primitive Werte können keineEigenschaften halten.
In diesem Artikel
Nachricht
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)
Fehlerart
Was ist schiefgelaufen?
ImStriktmodus wird einTypeError ausgelöst, wenn versucht wird, eine Eigenschaft auf einemprimitiven Wert wie einemSymbol, einemString, einerZahl oder einemBoolean zu erstellen.Primitive Werte können keineEigenschaften halten.
Das Problem könnte sein, dass ein unerwarteter Wert an einer unerwarteten Stelle verwendet wird oder dass eine Objektvariante einesString oder einerNumber 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 objectBehebung des Problems
Entweder beheben Sie den Code, um zu verhindern, dass derprimitive Wert an solchen Stellen verwendet wird, oder beheben Sie das Problem, indem Sie das objektäquivalenteObject erstellen.
"use strict";const foo = new String("my string");foo.bar = {};