Node.js中如何通过变量从对象中获取属性值?
在Node.js中通过变量获取对象属性值的正确方法
你当前用person.y的写法无法拿到目标数据,原因是点语法只能访问字面量匹配的属性名——这里它会尝试找person对象里名为y的属性,而不是变量y存储的temperature值。
正确实现方式
使用方括号语法,直接传入变量作为属性名:
let person = {temperature:[35,36],humidity:[85,90,89]}; let y = req.query.id; // 值为'temperature' console.log(person[y]); // 输出: [35, 36]
额外优化:避免属性不存在报错
如果不确定变量对应的属性是否存在,可以提前做检查:
- 使用
hasOwnProperty判断:
if (person.hasOwnProperty(y)) { console.log(person[y]); } else { console.log('目标属性不存在'); }
- 使用ES2020+的可选链+空值合并操作符(更简洁):
console.log(person[y] ?? '目标属性不存在');
内容的提问来源于stack exchange,提问作者hemanth
相关产品推荐
相关产品推荐

