TypeError: can't assign to property "x" on "y": not an object
信息
TypeError: can't assign to property "x" on {y}: not an object (Firefox) TypeError: Cannot create property 'x' on {y} (Chrome)
错误类型
原因
示例
错误的情况
js
"use strict";
var foo = "my string";
// 下面这行代码在非严格模式下不会执行。
foo.bar = {}; // TypeError: can't assign to property "bar" on "my string": not an object
如何正确使用
有两种方式,第一种修复这部分代码阻止primitive被用于这种情况,或者可以通过使用对象构造器创建来修复。
js
"use strict";
var foo = new String("my string");
foo.bar = {};