js 箭頭函數 (state) => (id) => {}


在查看Vue官方文檔時,看到如下js:

getters: {
  // ...
  getTodoById: (state) => (id) => {
    return state.todos.find(todo => todo.id === id)
  }
}  

剛開始看這段代碼(state) => (id) => {}  不知道是什么意思,但細想,id => {} 這本身是一個匿名函數,等同

function (id) {
  // ...
}

 

那么 (state) => (id) => {}  是不是表示:

function (state) {

  return function (id) {
    return ...;
  };
}

 

看下面一個例子:

  var a = {
    xx: 11,yy: (x) => (y) => {
      return x.find(e => e == y)
    }
  };
  console.log(a.yy([1, 2, 3])(1));

 

最后運行結果:

 

 上面等價寫法:

  var a = {
    xx: 11, 
    yy: function(x) {
      return function(y) {
        return x.find(e => e == y);
      }
    }
  };
  console.log(a.yy([1, 2, 3])(1));

  

 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM