ES6 解构赋值的用法笔记

640?wx_fmt=jpeg

1、概念:解构赋值可以理解为对赋值运算符的一种扩展。它主要针对数组或者

对象进行模式匹配,然后对模式中的变量进行赋值。

2、特性:采用ES6解构赋值的方式可以代码的可读性更高、代码书写更加简洁、清晰。

3、解构模型:分为解构源、解构的目标:解构源=解构的目标

4、解构类型:分为数组类型、对象类型。

数组类型

1.基本用法

let [a,b,c]=[5,15,25];

alert(b);//15

2、嵌套用法

let [a,[b,c],d]=[5,[15,25],50];

alert(c);//25

3、可忽略用法

let [a,,b]=[5,15,25];

alert(b);//25

4、部分解构用法

let [a=5,b]=[10,20];

alert(b);//20

5、剩余运算符用法

let [a,...b]=[10,20,30,40,50];

alert(b);//20,30,40,50

6、字符串用法

let [a,b,c]="how";

alert(a);//h

alert(b);//o

alert(c);//w

对象类型

1、基本用法

let {name,age}={name="小明",age=25};

alert(name);

2、可嵌套、可忽略用法

let person = {p: ['小明', {age: 25}] };

let {p: [name, { age }] } = person;

alert(name);//小明

alert(age);//25

let person = {p: ['小王', {age: 25}] };

let {p: [name, {  }] } = person;

alert(name);//小王

3、部分解构用法

let person = {p: [{age: 30}] };

let {p: [{ age }, name ] } = person;

alert(name);//undefined

alert(age);//30

4、剩余运算符用法

let {a,...rest} = {a: 10, b: 20, c: 30, d: 40};

console.log(a);//10

console.log(rest);// Object { b: 20, c: 30, d: 40 }

5、解构默认值

let {a = 10, b = 5} = {a: 3};

console.log(a);//3

console.log(b);//b

let {a: aa = 10, b: bb = 50} = {a: 10};

console.log(aa);//10

console.log(bb);//50

原文地址:https://www.cnblogs.com/hgmyz/p/12350954.html