动态对象属性名称?

IT技术 javascript json variables
2021-02-27 20:36:02

我怎样才能做到这一点:

var name = otherObject.name; //"string"
var o = { 
            name : otherObject
        };
alert(o["string"].name);
1个回答

请改用括号表示法。

var name = otherObject.name;
var o = {};
o[name] = otherObject;

或者,在现代 JavaScript 中:

var o = {
  [name]: otherObject,
};
由于这是一个不错的重复目标,因此比“现代 JavaScript”更具体可能会有所帮助。此语法是在 ECMAScript 2015 中引入的,称为计算属性名称这是规范ComputedPropertyName表达式的链接,以防您也想直接引用规范。
2021-05-02 20:36:02