JS - 数组索引

95 阅读1分钟

你真的了解数组索引吗?

让我们看一段代码:

const a = [1, 2, 3];
console.log(a[0], 0 in a);
console.log(a[00], 00 in a);
console.log(a['0'], '0' in a);
console.log(a['00'], '00' in a);

要搞清楚数组索引,请记住以下关键点:

  • 数组是对象
  • JavaScript 语法要求使用括号表示法而不是点表示法来访问以数字开头的属性。
  • JavaScript 引擎隐式调用 toString 强制转换数组索引为字符串。

所以对于 a[0],实际是访问 a[(0).toString()],即 a['0']a[00]a[(00).toString()]

访问 a['00'] 时,数组对象上没有 '00' 字段。

参考