ES6-解构赋值
前几天和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啊之类的,掌握还欠缺
大部分时候其实用那个就可以了