How can I make var a = add(2)(3); //5 work?

后端 未结 28 2386
长发绾君心
长发绾君心 2020-11-27 14:11

I want to make this syntax possible:

var a = add(2)(3); //5

based on what I read at http://dmitry.baranovskiy.com/post/31797647

I\

28条回答
  •  爱一瞬间的悲伤
    2020-11-27 14:50

    This is concept of currying in JS.
    Solution for your question is:

    function add(a) {
      return function(b) {
        return a + b;
      };
    }
    

    This can be also achieved using arrow function:

    let add = a => b => a + b;
    

    solution for add(1)(2)(5)(4)........(n)(); Using Recursion

    function add(a) {
      return function(b){
        return b ? add(a + b) : a;
      }
    }
    

    Using ES6 Arrow function Syntax:

    let add = a => b => b ? add(a + b) : a;
    

提交回复
热议问题