このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

SyntaxError: missing : after property id

JavaScript の例外 "missing : after property id" は、オブジェクトがオブジェクト初期化子の構文を使用して生成されたときに発生します。コロン (:) はオブジェクトのプロパティのキーと値を区切ります。おそらく、このコロンがないか場所が間違っているかです。

エラーメッセージ

SyntaxError: Invalid shorthand property initializer (V8-based)
SyntaxError: missing : after property id (Firefox)
SyntaxError: Unexpected token '='. Expected a ':' following the property name 'x'. (Safari)
SyntaxError: Unexpected token '+'. Expected an identifier as property name. (Safari)

エラー型

SyntaxError

エラーの原因

オブジェクト初期化子構文でオブジェクトを生成する場合、オブジェクトのプロパティのキーと値をコロン (:) で区切ります。

js
const obj = { propertyKey: "value" };

コロンと代入記号

この方法で代入記号をオブジェクト初期化子構文として使用できないため、このコードは失敗します。

js
const obj = { propertyKey = "value" };
// SyntaxError: missing : after property id

正しくはコロンを使用するか、オブジェクトを生成した後に角括弧を使用して新しいプロパティを割り当てます。

js
const obj = { propertyKey: "value" };

あるいは、

js
const obj = {};
obj.propertyKey = "value";

計算されたプロパティ

式からプロパティキーを生成する場合、角括弧を使用してください。そうしなければ、プロパティ名を計算することができません。

js
const obj = { "b"+"ar": "foo" };
// SyntaxError: missing : after property id

式を括弧 [] に入れてください。

js
const obj = { ["b" + "ar"]: "foo" };

関連情報