念念不忘,必有迴響。有一口氣,點一盞燈,有燈就有人。

如何同時判斷 undefined 與 null ?

如何同時判斷 undefined 與 null ?

undefinednull 是 ECMAScript 很特殊的存在,實務上我們常會同時判斷 undefinednull ,其實有更優雅的寫法。

如何在傳入 Array.forEach() 的 Function 使用 this ?

如何在傳入 Array.forEach() 的 Function 使用 this ?

Array.prototype 下的 method 都要我們傳入 Function,若該 Function 含有 this 想讀取 Object 的 Property,就會出現錯誤,該怎麼解決這個常見的錯誤呢 ?

v-for 搭配 Object

v-for 搭配 Object

當使用 v-for 顯示重複資料時,直覺都會想到 array,事實上 ECMAScript 的 object 也是一種 Container,而 v-for 也支援 object,在有些情境使用 object 會比 array 方便。

如何避免 Closure 在迴圈中不如預期 ?

如何避免 Closure 在迴圈中不如預期 ?

Closure 最常踩到的雷就是當 Closure 在使用 var 設定 counter 的 for loop 當中使用,一不小心就會出乎我們的預期。

如何呼叫有相依性的 API ?

如何呼叫有相依性的 API ?

實務上有些 API 的呼叫有順序性,如必須先呼叫 產品 API,再根據產品資料呼叫 價格 API,像這類有相依性的 API,由於 Axios 回傳的 Promise 是非同步,直覺很容易寫成巢狀,這又回到 Callback Hell 的老路子,比較好的寫法是善用 Promise 特性,無論 API 相依幾層,都只有 then() 一層。

如何提供 Function 的 Default Object Parameter ?

如何提供 Function 的 Default Object Parameter ?

實務上 Function 的 Parameter 應盡量以 Object 傳遞,而非 Primitive,但若要對 Property 提供 Default Value,該怎樣實現才優雅呢 ?

深入淺出 Scope Chain 與 Closure

深入淺出 Scope Chain 與 Closure

Closure 是 ECMAScript 的一大特色,但由於對其不了解,因此很多人不敢使用 Closure;或者雖然會使用 Closure,但仍然對其原理一知半解。

本文以 Runtime 角度深入探討 Closure 底層機制 Scope Chain,讓我們徹底了解 Closure 的黑魔法。

如何降低程式碼複雜度 ?

如何降低程式碼複雜度 ?

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

如何降低程式碼複雜度 ?

如何降低程式碼複雜度 ?

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

Disable Function 的陷阱

Disable Function 的陷阱

For loop 看似與 forEach() Higher Order Function 等效,但若用在使用 Empty Function 來 disable function 時,會有意想不到的結果出現。