一般來說我們不會定義直接操作陣列的 function,因為我們只需要行內呼叫 map(getChildren)
即可。此點也同樣適用於 sort
、filter
及其他高階 function(Higher order function:一個 function 使用或者是回傳另一個 function)。
當我們討論 pure function 時,我們會說它接受一個輸入並對應一個輸出。Curry 所做的事也是如此:每傳遞一個參數就會回傳一個新的 function 處理剩餘的參數。這就是一個輸入對應一個輸出。
不論輸出是否為另一個 function,它也是 pure function。我們也接受一次傳遞多個參數,不過這樣也只是為了方便減少多餘的 ()
。