为什么我不能在Javascript中调用array.0?

Sim*_*röm 1 javascript

此代码将警告对象a中的所有属性名称.0,1,2和你好.

Object.prototype.hello = {};

var a = [1,2,3];

for ( var number in a ) {
    alert( number)
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以通过以下语法访问属性hello:

a.hello
Run Code Online (Sandbox Code Playgroud)

但是为什么我不能访问a.0哪个应该等于1.数组是否会创建"真实属性"?

我知道我可以通过[0]和["你好"]访问属性

Xio*_*ion 7

这是一种语法限制.在JavaScript中,标识符不能以数字开头,因此0不是有效标识符.a.0然后会产生语法错误.