JavaScript高阶——ES6学习笔记
2.解构赋值
ES6允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,该操作即为解构。
本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。如果解构不成功,变量的值就等于undefined。
分类
- 数组解构赋值:数组=数组;
- 对象解构赋值:对象=对象;
- 字符串解构赋值:数组=字符串;
- 布尔值解构赋值;(属于对象解构赋值)
- 数值解构赋值;(属于对象解构赋值)
- 函数参数解构赋值。(属于数组在函数、参数的应用)
例子
let a,b,rest;
[a,b]=[1,2];
console.log(a,b);//输出为1 2
let a,b,rest;
[a,b,...rest]=[1,2,3,4,5,6];
console.log(a,b,rest);//输出为1 2 [ 3, 4, 5, 6 ]
let a,b;
({
a,b}={
a:1,b:2});
console.log(a,b);//输出为1 2
解构赋值的用法
- 交换变量的值
let a =1;
let b =2;
[a,b]