在查看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));