//当含有固定个参数的时候,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}