JavaScript简单对象操作:如何将变量值作为对象属性名
用ES6计算属性名实现动态对象属性名
这事儿用ES6的计算属性名就能轻松搞定!你只需要把变量用方括号[]包裹起来,就能直接把变量的值作为对象的属性名,完全符合你的需求。
给你写个实际能用的代码示例:
// 先获取你需要的属性名变量 const imageName = req.body.name; // 比如这里拿到的值是'alpha' // 用计算属性名创建目标对象 const obj = { [imageName]: { status: true, url: "abc" } }; // 此时obj就是 {alpha: {status: true, url: "abc"}} console.log(obj);
补充说明
在ES6之前,要实现这种动态属性名,得先创建空对象再逐个赋值,写法麻烦不少:
const obj = {}; obj[imageName] = {status: true, url: "abc"};
计算属性名就是为了简化这种场景而生的,让你在对象字面量里就能直接定义动态属性,代码更简洁易读。
另外,如果imageName的值不是字符串/Symbol类型,JS会自动帮你转成字符串,所以数字、布尔值这类也能正常作为属性名使用哦。
内容的提问来源于stack exchange,提问作者Saroj Maharjan
相关产品推荐
相关产品推荐

