ES6中的解構賦值

2021-08-16 18:22:21 字數 1930 閱讀 5352

按照原有值的解構,把原有值中的某一部分內容快速獲取到(快速賦值 給乙個變數)

陣列的解構賦值

解構賦值本身是es6的語法規範,使用什麼關鍵字來宣告這些變數是無所謂的

let ary = [12,23,34];

//傳統的取值賦值操作

// let a = ary[0],

// b = ary[0],

// c = ary[0];

//// console.log(a, b, c);

//1let [a,b,c] = [12,23,34];

console.log(a, b, c);//12,23,34

//2var [a,b,c] = [12,23,34];

console.log(a, b, c);//12,23,34

//3[a,b,c] =[12,23,34];

console.log(a, b, c);//12,23,34

//此處相當於給window加全域性屬性,但是嚴格模式下不可以出現非使用var/let等宣告變數 "use strict"

//4~function

() ();

//5~function

() ();

console.log(a, b, c);//12,23,34

//6~function

() ();

console.log(a, b, c);//報錯

多維陣列的解構賦值,可以讓我麼能快速獲取到需要的結果

//let ary = [12,[23,34],[45,56,[67,78]]];

//let a = ary[1][1];

let [,[,a],[,b,[,c]]] = [12,[23,34],[45,56,[67,78]]];

console.log(a, b, c);//34 56 78

如果只想獲取陣列中前面的某幾項內容,後面的結構不需要補全

let [d] = [12,23,34];

console.log(d);

let [,e] = [12,23,34];

console.log(e); //=>23

在解構賦值中,我們可以給某一項設定預設值

let [,,,e] = [12,23,34];

console.log(e); //=>undefined

let [,,,f = 0] = [12,23,34];

console.log(f); //=>0

在解構賦值中,支援...***的拓展運算子

let [a,...b] = [12,23,34,45,56];

console.log(a, b);//->12 [ 23, 34, 45, 56 ]

let [...c] =[12,23,34,45,56];

console.log(c);//[ 12, 23, 34, 45, 56 ] 陣列轉殖

let [e,...d,f] = [12,23,34,45,56];

console.log(e, d, f);//rest element must be last element拓展運算子只能出現在解構賦值中的末尾

let[g,,,...h] = [12,23,34,45,56];

console.log(g, h); //12 [ 45, 56 ]

ES6中解構賦值

理解 解構賦值就是從目標物件或陣列中提取自己想要的變數。最常用的場景是 element ui 或 vant ui 按需引入,請求介面返回想要的資料。陣列解構 乙個蘿蔔乙個坑,按照順序進行 var a,b,c 12,13 a,b 這個寫法報錯 invalid destructuring assignm...

ES6 解構賦值

陣列的解構賦值 let a,b 12,13 let a,b,c d 13,15,16 let a,b c 78,12 23 let x,y 1,3,5 x 1,y 3 let x,y,z a x a,y undefined z let h,b 1,2,3,4 1,2,3,4 預設值 let x tr...

ES6解構賦值

一 基本用法 解構 destructuring 按照一定的模式,從陣列或者物件中提取值,對變數進行賦值。let par1,par2,par3 1,2 console.log par1,par2,par3 1 2 不完全解構時par3對值為undefined 解構賦值允許指定變數對預設值。let pa...