Во втором примере вы создаете kv2
как object
с уникальным property
с именем f
.
var f = 'abc';
var r = 'moon';
var kv2 = {
f: r,
};
console.log(kv2);
console.log(kv2.f);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
Новый ECMAScript (ES6
) включает в себя функцию с именем вычисляемые имена свойств , которая будет адекватна тому, что вы пытаетесь сделать, т.е. используйте имя свойства, хранящееся в некоторой переменной. Пример:
var f = 'abc';
var r = 'moon';
var kv2 = {
[f]: r, // Using computed property name!
};
console.log(kv2);
console.log(kv2[f]);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
Однако из wikipedia
видно, что эта функция недоступна для вас:
Apps Script - это язык сценариев для разработки легких приложений на платформе G Suite. Он основан на JavaScript 1.6
с некоторыми частями 1.7
и 1.8
и предоставляет подмножество ECMAScript 5 API.
Итак, лучшее, что вы можете сделать, если вы все еще хотите использовать имя свойства, хранящееся в переменной, это:
var f = 'abc';
var r = 'moon';
var kv2 = {};
kv2[f] = r;
console.log(kv2);
console.log(kv2[f]);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}