TypeError: can't assign to property "x" on "y": not an object
Ошибка строгого режима JavaScript "can't assign to property" ("невозможно присвоить свойство") происходит в тот момент, когда вы пытаетесь создать свойство примитивного типа данных (такого как символ, строка, число или булевое значение). Примитивные типы данных не могут содержать никаких свойств.
Message
TypeError: can't assign to property "x" on {y}: not an object> (Firefox) TypeError: Cannot create property 'x' on {y} (Chrome)
Error type
What went wrong?
In Strict_mode
, a TypeError
is raised when attempting to create a property on primitive value such as a symbol, a string, a number or a boolean. Primitive values cannot hold any property.
The problem might be that an unexpected value is flowing at an unexpected place, or that an object variant of a String
or a Number
is expected.
Examples
Invalid cases
js
"use strict";
var 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