陣列的形式解構賦值
模式匹配的方法進行賦值,對應位置必須對齊。(可以通過應用逗號實現)變數的取值由位置決定
①,如果變數多,後面的值無法對應(可以通過加逗號),二、如果值多,變數少,也會報錯
②但是如果值多,或者變數多的情況發生在陣列的最後的位置。則不報錯,但最後多餘的變數值為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用來表示尚未存在的物件,常用來表示函式企圖返回乙個不存在的...