使用属性名称变量创建对象[重复]

2023-11-23

是否可以在对象文字属性中使用变量名来创建对象?

Example

function createJSON (propertyName){
    return { propertyName : "Value"};
}

var myObject = createJSON("myProperty");

console.log(myObject.propertyName);  // Prints "value"
console.log(myObject.myProperty);  // This property does not exist

如果你想使用变量作为属性名称,你可以使用计算属性名称。将变量名称放在方括号之间:

var foo = "bar";
var ob  = { [foo]: "something" }; // ob.bar === "something"

如果您想要 Internet Explorer 支持,您将需要使用 ES5 方法(您可以通过编写现代语法(如上所述)然后应用Babel):

首先创建对象,然后使用添加属性方括号表示法.

var foo = "bar";
var ob  = {};
ob[foo] = "something"; // === ob.bar = "something"

如果您想以编程方式创建 JSON,则必须将对象序列化为符合 JSON 格式的字符串。例如和the JSON.stringify method.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用属性名称变量创建对象[重复] 的相关文章