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

亡梦爱人 提交于 2019-12-09 18:11:30

箭头函数的几个写法

//当含有固定个参数的时候,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中得到改善,用...可以实现

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

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

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}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!