av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - ES6 數(shù)組解構(gòu)賦值 默認賦值

瀏覽:121日期:2023-09-03 18:04:03

問題描述

在看到阮一峰的ES6教程解構(gòu)賦值,默認值時,這個地方?jīng)]太看懂。原文鏈接

注意,ES6 內(nèi)部使用嚴格相等運算符(===),判斷一個位置是否有值。所以,如果一個數(shù)組成員不嚴格等于undefined,默認值是不會生效的

function f() { console.log(’aaa’);}let [x = f()] = [1];

書上說上面這段代碼等價于下面這段

let x;if ([1][0] === undefined) { x = f();} else { x = [1][0];}

請問一下這個[1][0]是哪里來的?不應該是下面這樣的嗎?

let x;if (1 === undefined) { x = f();} else { x = 1;}

問題解答

回答1:

數(shù)組解構(gòu)時,原理是這樣的,把一個或者多個變量放到數(shù)組A中,然后讓這個數(shù)組A等于另一個數(shù)組B,那么解構(gòu)時A數(shù)組某個位置的值就等于B數(shù)組對應位置的值。

let [x = f()] = [1];

這段代碼的意思就是,首先創(chuàng)建一個數(shù)組A,數(shù)組A中的第一項是x,然后又有一個數(shù)組B,B = [1].然后令 A = B.最后的效果就是A[0] = B[0],即x=B[0],也即x=[1][0]。所以在判斷是不是等于undefined時,要這樣

if([1][0] === undefined)回答2:

右邊[1]中的1才是對應x呀,即[1][0]對應x

回答3:

解構(gòu),解構(gòu),解構(gòu)。。。所以目的是把等號右邊的東西解開,所以肯定是要把[1]給解開的。

所以let [x]=[1],那么x就是[1][0],也就是1。所以其實x的賦值是根據(jù)[1][0]來判斷的。

不知道說的理解不理解,還是給文檔吧:

https://developer.mozilla.org...

標簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 日本成人午夜影院 | 人人cao| 荷兰欧美一级毛片 | 日本三级视频 | 91精品国产91久久久久久丝袜 | 亚洲精品视频一区 | 亚洲午夜精品视频 | 精品毛片| 另类视频在线 | 久久综合888 | 日韩视频成人 | 国产一区二区久久久 | 天堂综合 | 国产在线观看不卡一区二区三区 | 国产免费一区二区 | 国产9 9在线 | 中文 | 久久综合一区二区 | 欧美激情一区二区三级高清视频 | 亚洲精品久久久9婷婷中文字幕 | 亚洲精品电影网在线观看 | 97精品国产97久久久久久免费 | 国产精品99久久久久久www | 亚洲免费久久久 | 免费网站在线 | 欧美激情视频一区二区三区免费 | 久久精品99 | 久久国 | 亚洲精品成人av | 亚洲女人的天堂 | 国产精品成人一区 | 久久国产精品视频 | 亚洲欧洲一区 | 日本成人中文字幕在线观看 | 国产精品久久久久久久免费大片 | 中文字幕在线不卡 | 97在线观视频免费观看 | 岛国av免费观看 | 97精品国产97久久久久久免费 | 国产欧美一区二区三区另类精品 | 日日操操| 日韩精品在线免费观看 |