亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

es6 雙箭頭函數調用有什么意義?

es6 雙箭頭函數調用有什么意義?

MMTTMM 2018-09-24 18:01:13
let getters = {     total: (state) => (symbol) => {         return (symbol || '$') + state.count;     } }網上看到這么一段代碼,不理解 為什么箭頭函數后邊要跟一個箭頭函數,一開始以為是一個箭頭函數傳兩個參數的特殊寫法,試了試發現getters.total(state, symbol)  // 調用不了 getters.total(state)(symbol)  //調用成功不知道這樣寫有什么玄機?
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

這段代碼相當于:

let getters = {    total: function(state) {         return function(symbol) => {            return (symbol || '$') + state.count;
        }
    }
}

至于為什么這么寫,你需要了解一個概念:函數柯里化

如果你不了解函數柯里化,那你完全可以在定義的時候定義為:

let getters = {
    total: (state, symbol) => {
        return (symbol || '$') + state.count;
    }
}

而要完全理解函數柯里化帶來的好處,你可能還要去學習函數式編程


查看完整回答
反對 回復 2018-09-24
  • 1 回答
  • 0 關注
  • 692 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號