为什么用点表示法无法访问javascript数组元素?

Yuk*_*élé 1 javascript arrays

为什么不能用点表示法访问数组元素?

var arr = ['Apple', 'Mango', 'Pineapple', 'Orange', {name: 'Banana', color: 'yellow'}];

console.log( arr[0] ); // "Apple"
console.log( arr.0 ); // "Apple"
console.log( arr.3 ); // "Orange"
console.log( arr[4].name ); // "Banana"
console.log( arr.4.color ); // "Color"
Run Code Online (Sandbox Code Playgroud)

换句话说,为什么语言设计师选择禁止以数字开头的标识符?

Lig*_*ica 9

因为不允许标识符以数字开头,而yin x.y是标识符.

为什么yx.y一个标识符?不知道.在相应的邮件列表或AMA会话中询问语言设计人员.我它会使语言规范和解释变得更加容易.

  • 我想它是不允许以数字开头来减少解析歧义的。如果他们允许“foo.4.bar”,您将获得标记“foo”、“.”、“4.”、“bar”,所以现在他们需要相对于“4.”进行解析它的上下文,除非您执行“foo.4..bar”,否则不会给出预期结果。那么应该允许小数吗?如果是这样,“foo.4.2.bar”将如何解析?更简单的是不允许它。 (2认同)

归档时间:

查看次数:

833 次

最近记录:

10 年,7 月 前