主要分以下4个内容
1.数组的解析赋值
2.对象的解析赋值
3.字符串的解析赋值
4.解析赋值与圆括号
数组的解析赋值
数组解析赋值的写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。
a.
let [name, age, sex] =['李四', 20, '女'];
console.log(name);
console.log(age);
console.log(sex);
b.
let [,,z] = [1,2,3]; // console.log(z) z=3
c.
let [q,w,e] = [1,2] //q =1, w =2 ,e = undefined let [a,[s,d]] = [1,[2,3]]; //a = 1, s =2 , d = 3
d.
et [z = 1,x = 2] = [4]; // z = 4, x =2
//当某一项的值严格等于undefined时,就会进行默认赋值 所以x=2
对象的解析赋值
对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。
let {name, age, friends, pet} = {name: '张三', age: 55, friends: ['lulu', '王五'], pet: {name: '土豆', age:5}}; console.log('name->',name); console.log('age->',age); console.log('friends->',friends); console.log('pet->',pet);
字符串的解析赋值
let [a,b,c,d] = "qwer"; // a = 'q', b ='w', c = 'e', d= r;
解析赋值与圆括号
解构赋值虽然很方便,但是解析起来并不容易,因此尽量不要在模式中放置圆括号。