2017-10-08 104 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; 
}