解析赋值

主要分以下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;

 

解析赋值与圆括号 

解构赋值虽然很方便,但是解析起来并不容易,因此尽量不要在模式中放置圆括号。

 

posted @ 2019-11-20 10:37  程小杰呀  阅读(458)  评论(0编辑  收藏  举报