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.」が発生した場合の原因と解決方法を記述してます。

環境

  • OS macOS Big Sur
  • ブラウザ safari 15.0

エラー内容

以下のコードで発生。

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

console.log(obj.key1)

エラーメッセージ

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

画像

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

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)

実行結果