震惊![9,8,7,6][1,2] 竟然等于 7!

前端瓶子君

共 974字,需浏览 2分钟

 · 2024-04-11

没用的知识又增加了,让我们来拆解一下。

第一步:[1,2] 将被转换为 [2]

为什么呢?

首先 [9,8,7,6] 是一个一维数组,后面的元素 [1,2] 不能作为数组执行,它将作为数组下标进行处理。

在下标的上下文中,[1,2]是一个以逗号(,)分隔的单一表达式。

在 MDN 的定义中,逗号(,)运算符对它的每个操作数从左到右求值,并返回最后一个操作数的值。

      
      // 示例 1
const z = (1,2,3,4,5);
console.log(z); // 输出 5

// 示例 2
function a() {
    return 'a';
}

function b() {
    return 'b';
}

function c() {
    return 'c';
}

const d = (a(), b(), c());
console.log(d); // 输出 'c'

第二步 获取数组索引值

在上述代码执行后,变为 [9,8,7,6][2],那么结果就很明显了,返回的是数组[9,8,7,6]索引为2的元素,即7。

下面是更多的变体:

      
      [9,8,7,6][1,2,3// 输出 6
[9,8,7,6][8,2,3,1// 输出 8

翻译自:https://rahuulmiishra.medium.com/javascript-interview-question-why-does-9-8-7-6-1-2-7-a8c070d46cc6

内容略有删改


最后不要忘了点赞和在看呦!6704b8564f4d5401352cc248134a6e12.webp

祝 2024 年暴富!暴美!暴瘦!

浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报