使用点表示法访问对象的数字属性

Access numeric properties of an object using dot notation(使用点表示法访问对象的数字属性)
本文介绍了使用点表示法访问对象的数字属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么不能使用点表示法而不是方括号表示法访问此类似数组的对象的属性?

function testArray(rat){
  return typeof arguments;
}

console.log(testArray("test")); // "object"

function testArray(rat){
  return arguments.0; // `arguments[0]` works.
}

console.log(testArray("test")); // Throws error.

推荐答案

您的问题似乎是关于为什么我们不能使用这样的点表示法访问数组和类似数组的元素:

const v = a.0;

说明in the ECMAScript specification:

点符号由以下语法转换解释:

MemberExpression.标识符名称

并且标识符不能以数字as described here开头:

标识符名称::
IdentifierStart
IdentifierName IdentifierPart
IdentifierStart::
UnicodeLetter
$
_
UnicodeEscapeSequence

至于推理,将标识符名称仅由数字组成会使编写数字文字变得困难。异常可能只是为数组访问而设计的,但这会使语言变得更加复杂,并且背离了通用的C系列语法,而没有任何真正的好处。

这篇关于使用点表示法访问对象的数字属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)