javascript エラー「SyntaxError: Unexpected token ‘x’. Expected an identifier as property name.」の解決方法

javascript エラー「SyntaxError: Unexpected token ‘x’. Expected an identifier as property name.」の解決方法

javascriptで、エラー「SyntaxError: Unexpected token ‘x’. Expected an identifier as property name.」が発生した場合の原因と解決方法を記述してます。オブジェクトのkeyに演算子などを使用した場合に発生します。

環境

  • OS macOS Monterey
  • ブラウザ safari 15.5

エラー内容

以下のコードで発生。

const obj = { "key" + "1"  : "ab" }

console.log(obj.key1)

エラーメッセージ

SyntaxError: Unexpected token '+'. Expected an identifier as property name.

画像

firefox(バージョン107)では、以下のエラーとなります。

Uncaught SyntaxError: missing : after property id

画像

原因

キーの中に式が入っているため

解決方法

式を使用する場合は「[]」を使用する。

const obj = { ["key" + "1"]  : "ab" }

console.log(obj.key1)

また、値の方は「[]」を使用する必要はない

const obj = { ["key" + "1"]  : "ab" + "c" }

console.log(obj.key1) // abc

「[]」を使用すると配列となります。

const obj = { ["key" + "1"]  : ["ab" + "c"] }

console.log(obj.key1)

実行結果