[javascript] オブジェクトのプロパティ名を変数で指定

オブジェクトのプロパティ名を変数にして値を代入したい。
なにがしたいんだ?って話だけど、うまい言い方が見つからなくて、ごめん。

つまりは

const key = "unco"
const obj = {}
obj[key] = "buriburi"

これをスマートに書きたい。
なので、試しにこうやってみた。

const key = "unco"
const obj = {`${key}`: "buriburi"}

これだとエラーになる。
どうやら、テンプレート文字列はキー名として使えないっぽいのよね。

正解は次のようにすることだった。

const key = "unco"
const obj = {[key]: "buriburi"}

勘では閃かなそうな書き方が出てきたな・・・。

コメント

タイトルとURLをコピーしました