文章目录
- 数组结构
- 拆包表达式
- 来源
数组结构
在ES5中:如果计划从数组中提取特定元素,就需使用元素的索引,并将其保存到变量之中。
在ES6中:新增数组解构功能,以简化获取数组中数据的过程。
数组解构采用了数组字面量的语法形式,即等号左边的变量通过在数组中的位置去取得等号右边的数组字面量相同位置的值。
数组解构还允许我们使用逗号跳过索引。 如果我们想从arr2数组中挑选出第一个、第二个和第四个元素,我们将使用这种方法。
ES5中如果要交换两个变量的值,会引入临时变量;
而在ES6中使用数组解构赋值可使代码更具有易读性
拆包表达式
拆包可能是一个比较难理解的概念,因为这里面真的是有魔法发生。假如说你有一个简单的赋值表达式,把对象中的house的mouse赋值为house和mouse的变量。
var data = $('body').data(), // 假设data中有mouse和house的值
house = data.house,
mouse = data.mouse
另一个拆包的实例(Node.js):
var jsonMiddleware = require('body-parser').json
var body = req.body, // body中有用户名和密码值
username = body.username,
password = body.password
但是在ES6中我们可以用以下语句替换:
var { house, mouse} = $('body').data() // 我们会拿到house和mouse的值的
var {jsonMiddleware} = require('body-parser')
var {username, password} = req.body
甚至在数组中也能用,简直疯狂!
var [col1, col2] = $('.column'),
[line1, line2, line3, , line5] = file.split('n')
来源
JS中数组的解构
JS 开发者必须知道的七个 ES6 新特性