解构赋值是es6中很简单实用的小语法,今天一定要给它吹一下彩虹屁。
说他简单,是因为在es6规范中,排位在第二,也就是let和const之后就是他了,语法篇章也不多,还没说多少就开始说应用,应用的部分又说的很精彩。
所以说解构赋值真的是既简单又好用,应用范围真的太广了,并且对于初识ES6的小伙伴真的很友好。
首先让我们先看一下解构赋值的语法:
let [a, b, c] = [1, 2, 3]
let [head, ...tail] = [1, 2, 3, 4]
let [x, y='1'] = [2]
let [m, n='1'] = [2, undefined]
上面这几行代码基本就包含了解构赋值大部分功能了,别看它简单,使用起来真的好用,下面让我们一起来看一下。
一、基本语法
解构赋值的基本语法很简单,简单到只需要了解两个部分:
- 数组的解构赋值
- 对象的解构赋值
解构赋值只包含这两部分吗?不是的,但是只看这两个就足够了
为什么?
原因很简单,
- 字符串的解构赋值很鸡肋,你几乎不会使用到。
- 数值和布尔的解构赋值也停留在理论上,了解就好。
- 函数参数的解构赋值本质上与对象的解构赋值没有太大差别。
既然这样,废话不多少,我们分别看一下数组的解构赋值和对象的解构赋值。
1、数组的解构赋值
本文开篇的代码其实就是数组的解构赋值,