2017-10-08 98 views
-1

在阅读下面的文章: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) 
     { 
      ???????? 
     } 
    }; 
}; 

我在这里错过了什么?

+3

'=>'是不一样的'> =' – 4castle

+1

我以为你在缺少'> ='是不是一个箭头...;)我仍然不明白为什么这是一个“胖箭头函数”,在我看来它们真的很轻量级......“双箭头函数”将是'highpass = a => b => a> = b',这将使currying成为:'highpass 5)(1)' –

+0

我只在你指出时才注意到它,现在我很惭愧我的问题 – user2983177

回答

2

这相当于

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

 
console.log(highpass(2, 3))

0

“第二” 是一个比较,不是功能

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

转化为

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