Movatterモバイル変換


[0]ホーム

URL:


  1. 面向开发者的 Web 技术
  2. JavaScript
  3. JavaScript 参考
  4. JavaScript 错误参考
  5. TypeError: can't assign to property "x" on "y": not an object

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in EnglishAlways switch to English

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.

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

示例

错误的情况

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 = {};

页面相关

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp