javascript箭头函数连写是什么意思?

javascript箭头函数连写是什么意思?一直不太理解,请大佬说详细一点,代码如下:

let CURRENT = 'NULL';
const renderAuthorize = Authorized => currentAuthority => {  //这一行的箭头函数连写是什么意思?
  if (currentAuthority) {
    if (typeof currentAuthority === 'function') {
      CURRENT = currentAuthority();
    }
    if (
      Object.prototype.toString.call(currentAuthority) === '[object String]' ||
      Array.isArray(currentAuthority)
    ) {
      CURRENT = currentAuthority;
    }
  } else {
    CURRENT = 'NULL';
  }
  return Authorized;
};

export { CURRENT };
export default Authorized => renderAuthorize(Authorized);

问题就是第2行代码的箭头函数连写,它是什么意思?

阅读 4.1k
6 个回答

代表返回值就是函数
例如

const a = b => c=> b + c
写成es5 就是 
var a = function(b){
    return function(c){
        return b + c
    }    
}

高阶函数,常常出现在柯里化和局部应用

你把箭头函数中 =>之前加上小括号 之后加上大括号return 就清楚了,比如 const a = (b) => { return (c)=> {return d}},=> 箭头之前是参数 , =>箭头之后是 return的内容

var renderAuthorize = function(Authorized) {
    return function(currentAuthority) {
        //code....
    };
  };
const renderAuthorize = function (Authorized) {
    return function (currentAuthority) {
        ......
    }
}
就这个意思
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题