點燈坊

學而時習之,不亦悅乎

Tag : Maybe/map

使用 chain() 將兩層 Maybe 攤平

Function 若接收其他 Function 傳來的 Maybe,而又想使用 map() 對該 Maybe 內的值加以改變,很容易寫出兩層 Maybe,藉由 chain() 取代 map(),可將兩層 Maybe 攤平。

Maybe 使 ECMAScript 更安全

ECMAScript 為 Dynamic Type Language,Function 的 Parameter 並不必指定 Type Annotation,因此可以傳入任何 Type,理論上必須在 Runtime 使用 typeof 做 Type Check,否則依賴 Type Coercion 很容易產生 Bug;Mabye 提供了另外一種方式:只會將正確 Type 進行運算,而不需使用 typeof 檢查。