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}
相關文章
相關標籤/搜索