【问题标题】:converting double fat arrow to standard function将双粗箭头转换为标准函数
【发布时间】:2017-10-08 20:25:00
【问题描述】:

阅读以下文章时:https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-pure-function-d1c076bec976 我得到了以下代码:

const highpass = (cutoff, value) => value >= cutoff;

哪些输出:

highpass(5, 123); // true
highpass(5, 5);   // true
highpass(5, 1);   // false

由于我不是胖箭头函数方面的专家,我试图将它们转换为简单的函数,但是第二个胖箭头和结果让我感到困惑,这是我目前所掌握的:

function highpass(cutoff, value)
{
    return function(value)
    {
        return function(cutoff)
        {
            ????????
        }
    };
};

我在这里错过了什么?

【问题讨论】:

  • =>>= 不同
  • 我认为您错过了 >= 不是箭头... ;) 我仍然不明白为什么这是一个“胖箭头函数”,在我看来它们真的很轻... A “双箭头函数”将是 highpass = a => b => a >= b,这将启用柯里化为:highpass(5)(1)
  • 当你指出的时候我才注意到,我现在为我的问题感到羞愧

标签: javascript ecmascript-6 arrow-functions


【解决方案1】:

相当于

const highpass = function(cutoff, value){
  return value >= cutoff;
}

console.log(highpass(2, 3))

【讨论】:

    【解决方案2】:

    问题代码中只有一个箭头函数,>=Greater Than or Equal operator

    function highpasss(value, cutoff) {return value >= cutoff}
    

    【讨论】:

      【解决方案3】:

      “秒”是比较,不是函数

      const highpass = (cutoff, value) => value >= cutoff;
      

      翻译成

      const highpass = function(cutoff, value) {
          return value >= cutoff;
      }
      

      【讨论】:

        猜你喜欢
        • 2019-04-20
        • 1970-01-01
        • 2019-04-12
        • 1970-01-01
        • 2020-03-07
        • 2017-12-06
        • 2018-08-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多