如何在初始化程序中以编程方式创建对象键?

Raf*_*sta 1 javascript

我有一个对象,我想用动态命名的键初始化.我知道我可以在这样的代码中做到这一点:

obj = {};
prefix = "blah";
i = 0;
obj[prefix + i] = "whatever";
console.log( obj.blah0 );
Run Code Online (Sandbox Code Playgroud)

例如,从这里开始:如何创建要添加到JavaScript对象变量的动态密钥

但这可以在初始化器中完成吗?

obj = { [prefix+i]: "whatever" };
Run Code Online (Sandbox Code Playgroud)

我知道这不起作用.我尝试过这个.但有没有类似的方法可行?

zzz*_*Bov 5

您无法在当前版本的JavaScript中动态生成对象文字中的键.

可以使用匿名函数作为构造函数,并以这种方式生成键值对:

obj = new function() {
    var i,
        prefix;
    prefix = 'blah';
    i = 0;
    this[prefix + i] = "whatever";
};
console.log(obj.blah0); //"whatever"
Run Code Online (Sandbox Code Playgroud)