投稿日:2020年9月21日
Javascriptで変数で定義した値をObjectのキーとして設定したい場合、そのままキーにしようとするとその変数名がキーになってしまい思う通りにできません。
const a = "car";
const sampleObj =
{a:100};
console.log(sampleObj);
> {a: 100}
理想では{car:100}となって欲しかったのに変数名のaがキーで設定されてしまいました。
まずはObjectを定義してからそのあとブラケットを使ってプロパティを定義してあげます。
const a = "car";
const sampleObj = new Object();
console.log(sampleObj);
> {car: 100}
ES2015以降のJSでは変数にブラケットをつけることでcomputed property nameという記法を使うことができます。
const a = "car";
const sampleObj = {
[a]:100
};
console.log(sampleObj);
> {car: 100}