Chaoli

Js的逗号运算符

关于JavaScript中逗号运算符和索引相关概念的学习

Js中的数组索引本质上是访问对象属性,也就是说,arr[0]等价于访问arr对象名为0的属性,与obj.aobj["a"]概念相同。

这时又想到一个问题,如果在索引中给出多个值会发生什么?

let arr = [0, 2, 3];
console.log(arr[0, 1]); // => 2

与Python不同,js中多个值的索引并非是数组切片。这时才了解到此前忽视的逗号运算符概念,多个值被逗号分隔开时(不包括函数参数列表等情况),先从左到右执行,最后返回最右端的值。因此,arr[0, 1]等价于arr[1]

console.log((0, 1)); // => 1