解构赋值语法是一种 Javascript 表达式。通过解构赋值,可以将属性/值 从 对象/数组中取出,赋值给其他变量。
数组解构
var foo = ["one", "two", "three"];
var [one, two, three] = foo;
console.log(one); // "one"
console.log(two); // "two"
console.log(three); // "three"
对象解构
var o = {p: 42, q: true};
var {p, q} = o;
console.log(p); // 42
console.log(q); // true
默认值
const RGBA = [255, 34];
const [R, G, B = 0, A = 1] = RGBA;
console.log(R); // 255
console.log(G); // 34
console.log(B); // 0
console.log(A); // 1
rest操作符解构
let arr = [1,2,3];
//对象解构,对象程现;
//数组解构,数组呈现
let {...newArr} = arr;
console.log(newArr);//{0:1,1:2,2:3} 对象
总结:
解构就是将数组或对象的值抽离出来(属性没看出来),同时抽离方以对象或数组的形式表示,并且数组和对象之间可以相互解构。对于rest解构,不同的结构方式,结果也不同,请看rest操作符解构
双方以key或index为基准点,值为变量名和变量值,一一解构。
请看以下例子:
var {0:name, age, height} = ["张三", "18", "177"];
//console.log(name); //张三
//console.log(age); //undefined
//console.log(height); //undefined
//只有name有值,因为只有name的key对应得上