( Google Apps Script ) Objectのキーに変数を使いたいんだが

2023.01.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

GASを使っていた時のこと。 外部(APIやデータベース)から取得したデータを使ってObjectを生成しようとしてハマっていました。

例えば、

var key_name = "chiba"
var collections = {key_name: {"name": "peanuts"}}

>>log
>>>> { key_name: { name: 'peanuts' } }

と、変数名が出力されてしまいました。

色々と調べていて、ES6から動的にObject内のプロパティを設定できるということがわかりました。

Computed property names という機能名です。

[varibale]: value という書き方で実現できるとのこと。

使用していたGASの環境ではChrome V8 ランタイムが有効であったので、ひょっとしたらこの機能使えるかも ということで試してみたところ

var key_name = "chiba"
var collections = { [key_name]: {"name": "peanuts"}}
>>log
>>>> { chiba: { name: 'peanuts' } }

できましたっ。

これで先に進める。

ただの備忘録でした。