对象属性名称中的变量

Mar*_*tti -1 javascript

我想设置这样的对象:

var x = 20;
var y = 30;
var z = {
         values: { 
                  x: '24',
                  y: '60'  }, 
         value: x
         };
Run Code Online (Sandbox Code Playgroud)

我希望变量z看起来:

var z = {
         values: { 
                  20: '24',
                  30: '60'  }, 
         value: 20
         };
Run Code Online (Sandbox Code Playgroud)

brk*_*brk 7

把它们放在square托架中.这通常称为计算属性名称,它允许将变量放入将被计算的方括号中

var x = 20;
var y = 30;
var z = {
  values: {
    [x]: '24',
    [y]: '60'
  },
  value: x
};

console.log(z)
Run Code Online (Sandbox Code Playgroud)