幾行代碼瞭解JS中的柯里化和反柯里化

幾行代碼瞭解JavaScript中的curring和uncurring

curry 柯里化

在計算機科學中,柯里化(英語:Currying),又譯為卡瑞化或加里化,是把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)的函數,並且返回接受餘下的參數而且返回結果的新函數的技術。 – 維基百科

下面幾行代碼說明一下:

幾行代碼瞭解JS中的柯里化和反柯里化

curry 柯里化

我們可以看到當參數為空時候就可以求出對應的值,也起到了一個惰性求值(延遲求值)的目的,在某些場景對性能提升有一定的幫助。

這個例子可能大家不太熟悉,下面這個例子大家應該都不陌生:

幾行代碼瞭解JS中的柯里化和反柯里化

curry 柯里化

uncurry 反柯里化

反curring就是把原來已經固定的參數或者this上下文等當作參數延遲到未來傳遞。

幾行代碼瞭解JS中的柯里化和反柯里化

uncurry 反柯里化

GitHub:https://github.com/microzz


分享到:


相關文章: