ES6-解构赋值

Author Avatar
Aryb1n 5月 30, 2017

前几天和ZJM聊天,说到了这个解构赋值
又想到以前经常看到的

const {xxx} = require('xxx');

但没有注意啊,hhhh~还是好菜啊
今天准备写作业,然后偷偷上会儿网的时候看到了,记一下吧

数组解构赋值

var [a, b, c] = [1, 2, 3]
let [x, , z] = [1, 2, 3]
let [head, ...tail] = [1, 2, 3, 4]  //这个酷炫吧,
// => head=1; tail=[2,3,4], 这个即使是tail只有一个元素也是数组,所以
let [a, b, c] = [1]
// => a=1; b undefined; c []

对象解构赋值

var {foo, bar} = {bar: 'bar', foo: 'foo'}

如果变量名和属性名不一样

var {foo: baz} = {foo: 'aaa', bar: 'bbb'}
//=> baz 'aaa'
//=> foo not defined

还有一个点,变量的let,const, 不能重复申明

let old;
let {old} = {old: 'young'}

没有了

就是回想起来那天的Ramda
其实我ES5里那些像是函数式的方法,,比如map啊之类的,掌握还欠缺
大部分时候其实用那个就可以了