震驚![9,8,7,6][1,2] 竟然等于 7!
沒用的知識又增加了,讓我們來拆解一下。
第一步:[1,2] 將被轉(zhuǎn)換為 [2]
為什么呢?
首先 [9,8,7,6] 是一個一維數(shù)組,后面的元素 [1,2] 不能作為數(shù)組執(zhí)行,它將作為數(shù)組下標(biāo)進行處理。
在下標(biāo)的上下文中,[1,2]是一個以逗號(,)分隔的單一表達式。
在 MDN 的定義中,逗號(,)運算符對它的每個操作數(shù)從左到右求值,并返回最后一個操作數(shù)的值。
// 示例 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'
第二步 獲取數(shù)組索引值
在上述代碼執(zhí)行后,變?yōu)?[9,8,7,6][2],那么結(jié)果就很明顯了,返回的是數(shù)組[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
內(nèi)容略有刪改
最后不要忘了點贊和在看呦!
祝 2024 年暴富!暴美!暴瘦!
評論
圖片
表情
