JavaScript 中还有其他方法获取对象属性吗?

use*_*814 1 javascript object

我有一个dataLayer数组,里面有对象:

\n
dataLayer[3]\nObject {event: "gerar-evento", event-category: "Chat", event-acion: "Vendas", event-label: "Pr\xc3\xa9 Fixo 15"}\n
Run Code Online (Sandbox Code Playgroud)\n

当我尝试选择该对象的属性时,出现错误

\n

如果我尝试:

\n
dataLayer[3].event\n
Run Code Online (Sandbox Code Playgroud)\n

它工作正常,返回gerar-evento,但如果我尝试:

\n
dataLayer[3].event-label\n
Run Code Online (Sandbox Code Playgroud)\n

我收到此错误:ReferenceError: label is not defined

\n

还有另一种方法可以从对象中选择属性吗?我究竟做错了什么?

\n

Aru*_*hny 5

您需要使用括号表示法,因为event-label不是有效的标识符

dataLayer[3]['event-label']
Run Code Online (Sandbox Code Playgroud)

  • 如果不清楚为什么“event-label”不是有效标识符:它是一个从“event”变量中减去“label”变量的表达式。 (2认同)