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