entity.components 返回一个数组吗?

is entity.components returning an array?

我正在学习 A-Frame 和 JavaScript,对此我很好奇。

entity.components好像是returns一个对象,里面包含了所有依附于一个实体的组件,但是要访问其中一个组件,你可以把你想访问的组件的名字放在方括号,就像您可能对数组所做的那样。

例如:entity.components['geometry']

所以我假设 entity.components 返回的对象实际上是一个数组。我说得对吗?

它是一个对象,其属性对应于附加的组件。

两者:

  • components.myComponent(点符号)
  • 组件["myComponent"](括号表示法)

是访问对象属性的方法。


如果它是一个数组,您必须在括号中提供一个数组索引。考虑这个简单的例子:

let array = ["one", "two"]
let obj = {
    one: "one",
    two: "two",
}

console.log("array[1]:", array[1])
console.log("array['one']:", array["one"])
console.log("obj[1]:", obj[1])
console.log("obj['one']:", obj["one"])