ES6中變數的解構賦值

2021-10-02 11:39:55 字數 1625 閱讀 8303

陣列的形式解構賦值

模式匹配的方法進行賦值,對應位置必須對齊。(可以通過應用逗號實現)變數的取值由位置決定

①,如果變數多,後面的值無法對應(可以通過加逗號),二、如果值多,變數少,也會報錯

②但是如果值多,或者變數多的情況發生在陣列的最後的位置。則不報錯,但最後多餘的變數值為undefined,

③只要值為undefined則認為解構不成功

let [a,b,c]=[1,2,3];

//從陣列中提取值,按照對應位置賦值。

console.log (a,b,c);//1,2,3

console.log ([a,b,c]);//陣列

let x=[1,2,3];

console.log(x);//陣列

let [aa,bb,[cc,dd],oo,...ll]=[9,0,[1,2],0,5,6,3];

console.log(aa,cc,dd,oo,ll);//9 1 2 0 (3) [5, 6, 3]

**④變數解構指定預設值,陣列成員等於undefined,則預設值生效。如果是null就不會生效,**如下栗子:

function f() 

let [y=f()]=[undefined];

console.log(y);

//結果輸出:aaa

⑤如果指定的預設值,是表示式,則為惰性求值,在用的時候才會求值。結構賦值也可以引用其他變數

解構失敗,變數的值為undefined

解構賦值的作用:

① 用來交換變數的值:

`let w=1,e=4,t=5; 

console.log(w,e,t);

[w,e,t]=[t,w,e]

console.log(w,e,t);

②函式可以返回多個值

return [1,2,3]

iterator介面.

部署了iterator介面的物件都可以用for。。。of迴圈遍歷

物件的解構賦值

let =;
物件解構賦值的內部機制是先找到同名的屬性再賦值給對應的變數

bar只是乙個名字。最後得到的是baz:bar;

模板字串

①做普通字串,

②定義多行字串,表示多行,或者空格都會被保留

③或者在字串中嵌入變數

可加變數可不加,

${} 花括號裡面可以是表示式,變數,也可以是函式的呼叫

④trim() 去除字串頭尾空格

//在谷歌中輸出的數字是藍色,字串是黑色的,

⑤應用模板字串輸出的結果都是字串

var b=0,y=5,x;

function sum(a,y)

console.log(` i am a

\`man x=$ `.trim());

console.log(`9990`);

var c="9999";

執行結果為

i am a

`man x=11

es6變數解構賦值

es6允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構。解構賦值在實際開發中可以大量減少我們的 量,並且讓我們的程式結構更清晰。陣列的解構賦值 let a,b 1 2 console.log a 1 console.log b 2 上面的 表示,可以從陣列中提取值,按照位置的物件...

ES6變數解構賦值

es6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 es6之前我們申明多個變數需要按照下面的方法 let l a 1 let b 2 let c 3 let d 4 或者 let a 1,b 2,c 3,d 4 現在我們可以更加簡便 let a,b,c,d 1,2,3,4 ...

es6 變數解構賦值

1.陣列的解構賦值 等號兩邊的模式相同,左邊的變數就會被賦予對應的值 預設值 undefined型別只有乙個值,即undefined。當宣告的變數還未被初始化時,變數的預設值為undefined。null型別也只有乙個值,即null。null用來表示尚未存在的物件,常用來表示函式企圖返回乙個不存在的...