es6箭头函数(=>)与展开特性运算符(...)的使用

箭头函数的几个写法

//当含有固定个参数的时候,es5写法
function test(a,b){ ..}

//es6写法(es6参数能够设置默认值)
let test = (a,b) => {..}

当函数体中仅有一行的时候,能够省略掉return与外部的{},可是若是return对象是一个对象时,应再外部包含括号
let test = (a,b) => a+b;

//返回对象时
let test = (name = 'heihei') => ({'name':name})

当仅有一个参数的时候,能够直接写做
let test = number => number*=3;

//es5中对象中的方法写法
var a = {
    name:'heihei',
    say: function(){..}
}

es6中的新写法
let a = {
    name:'heihei',
    say(){..}
}

展开运算符...

es5中,当参数比较多的时候,须要用到arguments去操做参数,这个在es6中获得改善,用...能够实现javascript

// [2,3,4]
((a,...b)=>{console.log(b)})(1,2,3,4)

函数内部将多余参数合并为数组,形参内使用...则能够将数组拆分为参数,当用apply将数组展开做为参数时,能够比较好的用到java

function aaa(a,b,c){...}
var arr = [1,2,3]
//es5
aaa.apply(null, arr)

//es6
aaa(...arr);

//3
Math.min(...arr);

//数组、对象链接,对象为例,数组相同
let a = {name:'heihei'}
let b = {age:26}
//{name:"heihei",age:26,hoby:'code'}
let c = {...a,hoby:'code',...b}
相关文章
相关标签/搜索