A RetroSearch Logo

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

Search Query:

Showing content from https://developer.cdn.mozilla.net/ja/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

JavaScript の strict モードの例外 "can't assign to property" は、プリミティブ値、例えばシンボル、文字列、数値、論理値などにプロパティを作成しようとしたときに発生します。プリミティブ値はいかなるプロパティを持つこともできません。

エラーメッセージ
TypeError: can't assign to property "x" on {y}: not an object (Firefox)
TypeError: Cannot create property 'x' on {y} (Chrome)
エラーの種類 エラーの原因

Strict モードでは、 TypeError はプリミティブ値、例えばシンボル、文字列、数値、論理値などにプロパティを作成しようとしたときに発生します。プリミティブ値はいかなるプロパティを持つこともできません。

想定外の場所に想定外の値が流れてきたり、 String や Number のオブジェクトバリアントが想定されていたりすることが問題となることがあります。

例 無効な場合
"use strict";

var foo = "my string";
// 次の行は strict モードでない場合は何もしません。
foo.bar = {}; // TypeError: can't assign to property "bar" on "my string": not an object
問題の修正

このような場所でプリミティブ値を使用しないようにコードを修正するか、 Object と同等のオブジェクトを生成して問題を修正するかします。

"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