次世代 Hugo

智能を研ぎ、創造を編む

如何降低程式碼複雜度 ?

if elseswitch case 是最基本的邏輯判斷方式,但卻也是 複雜度 的元兇,實務上善用 ECMAScript 語言特性與 Higher Order Function 降低複雜度,讓程式碼可讀性更高,也更容易維護。

如何在 WebStorm 使用 ASI ?

ECMAScript 其實並不如 C、C# 與 Java 強制在每行結尾都要加上 ;,支援所謂 ASI (Automatic Semicolon Insertion) 會在每行結尾自動加上 ;;WebStorm 與 ESLint 只要稍加設定就可完美支援 ASI。

如何實現 Pure Function ?

FP 三部曲 (Declarative、Pure Function 與 Immutable) 中的第二部曲就是 Pure Function,但也由於 ECMAScript 對於 Argument 有 Pass by Value 與 Pass by Reference 兩種,且型別並沒有完整支援 Immutable,因此實現 Pure Function 時有些 Tricky。

深入探討 Arrow Function 與 this

ECMAScript 5 無論是 Function Declaration 或 Anonymous Function,都可以使用 this 搭配 call()apply()bind() 動態改變 this,ECMAScript 2015 支援了 Arrow Function 後,這對原本的 thiscall()apply()bind() 有任何影響嗎 ?

如何在 Callback 中使用 this ?

ECMAScript 提供眾多的 Higher Order Function,如 Array.prototype.forEach() ,當我們將 Callback 傳入後,且該 Callback 含有 this 想讀取 Object 的 Property 時,就會出現錯誤,該怎避免這個常見的問題呢 ?