JavaScript中如何通过字符串形式的属性名访问对象对应属性?
解决方法
JavaScript 提供了方括号属性访问语法,正好可以满足你通过字符串动态访问对象属性的需求:
- 如果是直接用字符串字面量访问,写法为
obj["property1"] - 如果属性名存储在变量中,直接把变量放到方括号内即可,比如
const prop = "property1"; obj[prop]
完整使用示例:
var obj = { property1: "value1", property2: "value2" }; // 字符串字面量直接访问 console.log(obj["property1"]); // 输出:value1 // 动态变量访问 let dynamicPropName = "property2"; console.log(obj[dynamicPropName]); // 输出:value2 // 也可以用同样语法动态赋值/新增属性 obj["property3"] = "value3"; console.log(obj.property3); // 输出:value3
方括号语法相比点语法适用范围更广,即使属性名包含空格、特殊符号、或者是数字这类不符合JS标识符命名规则的内容,也可以正常访问,完全可以替代PHP关联数组的所有使用场景。
内容的提问来源于stack exchange,提问作者theoutstandingme
相关产品推荐
相关产品推荐

