點燈坊

學而時習之,不亦悅乎

Tag : ECMAScript

發現 ECMAScript 本質

大家在學習 ECMAScript 時,是否覺得跟主流 OOP 程式語言不太一樣?為什麼沒有 Interface?為什麼很難使用 OOP Design Pattern ?為什麼我會從很討厭 ECMAScript 到很喜歡 ECMAScript?這要從其本質談起,因為我發現了其可愛一面。

ECMAScript 之 Currying

不只 OOP 有 Design Pattern,事實上 FP 也有不少 Pattern,而 Currying 算 FP 最基礎、使用最多的 Pattern。一些正統 FP 語言,如 Haskell、Clojure、F#、ReasonML … 都在語言內支援 Currying;ECMAScript 雖然沒有直接支援,但因為有 First-class Function 與 Closure,使得 Currying 在 ECMAScript 中使用成為可能。

如何判斷 ECMAScript 變數型別 ?

ECMAScript 雖然是 Dynamic Type Language,但並不代表 Variable 沒有 Type,只是其內建獲得 Type 方法包含太多 驚喜,成為備受爭議部分。本文整理出 4 種獲得 Type 方式,各有其優缺點,最後自訂 typeof_(),可判斷各種 Type。

如何優雅地 Debug Callback ?

ECMAScript 是大量使用 Callback 的語言,實務上我們常想針對 Callback 加以 console.log() 協助 Debug,該如何優雅地使用 console.log() 呢 ?