JavaScript中如何访问以@开头的对象属性?
访问带@符号的对象属性方法
在JavaScript中,当对象属性名包含@这类不符合标识符规则的特殊字符时,不能使用点语法(.)访问,必须改用方括号语法。
正确示例
针对你提供的对象:
var data = { id: 1, msg: "blah blah blah", '@timestamp': "2023-03-28T23:08:03Z" };
访问@timestamp属性的正确写法:
const timestamp = data['@timestamp']; console.log(timestamp); // 输出 "2023-03-28T23:08:03Z"
原理说明
JavaScript的点语法要求属性名是合法标识符(只能以字母、下划线或$开头,不能包含特殊字符),而方括号语法支持将任意字符串作为属性名传入,因此能处理带特殊字符的属性。此外,这种方式也适用于动态生成属性名的场景。
内容的提问来源于stack exchange,提问作者m0j0
相关产品推荐
相关产品推荐

