如何获取含连字符的对象属性值?解决语法错误问题
正确获取带连字符属性值的方法
你遇到的语法错误是因为属性名5-minutes-ago包含连字符,属于非标准标识符,无法通过点(.)语法直接访问,必须改用方括号[]语法。
两种正确写法:
- 链式方括号访问:
cookies['cookie-stats']['5-minutes-ago'] - ES6+解构赋值(适合后续多次使用该值):
const { '5-minutes-ago': fiveMinutesAgo } = cookies['cookie-stats']; // 后续直接使用 fiveMinutesAgo 即可获取对应值 "-2"
错误原因说明:
JavaScript的点语法要求属性名必须是有效的标识符——不能包含连字符、不能以数字开头,5-minutes-ago同时违反了这两个规则,因此只能通过方括号包裹字符串形式的属性名来访问对象属性。
内容的提问来源于stack exchange,提问作者New
相关产品推荐
相关产品推荐

