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

共 974字,需浏览 2分钟

 ·

2024-04-11 13:37


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


第一步:[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 年暴富!暴美!暴瘦!


浏览 33
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报