A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Errors/Cant_assign_to_property below:

TypeError: can't assign to property "x" on "y": not an object - JavaScript

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)
错误类型

TypeError.

原因

在 Strict_mode下,当试图给一个symbol,string,number或者一个boolean类型的数据创建一个属性时就会报 TypeError, 任何 Primitive 值都不允许有property.

这个问题可能是由一个错误的值被放在了一个错误的地方导致的,或者预期String或Number的对象变体

示例 错误的情况
"use strict";

var foo = "my string";
// 下面这行代码在非严格模式下不会执行。
foo.bar = {}; // TypeError: can't assign to property "bar" on "my string": not an object
如何正确使用

有两种方式,第一种修复这部分代码阻止primitive被用于这种情况,或者可以通过使用对象构造器创建来修复。

"use strict";

var foo = new String("my string");
foo.bar = {};
页面相关

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4