ECMAScript 之 var
var 從 ECMAScript 一開始就存在,也是代表 Keyword,看到 var 就可以判斷是 ECMAScript 了。但 var 在 ECMAScript 2015 之後有了一些改變,重要性也不若以往,TC39 甚至建議完全不要使用 var,改用 let 與 const。
var 從 ECMAScript 一開始就存在,也是代表 Keyword,看到 var 就可以判斷是 ECMAScript 了。但 var 在 ECMAScript 2015 之後有了一些改變,重要性也不若以往,TC39 甚至建議完全不要使用 var,改用 let 與 const。
Higher Order Function 、Closure 與 IIFE 三者常同時使用,可讓 Codebase 更為精簡。
有時候我們希望 Function 執行完後,Variable 仍然有效,此稱為 Static Variable,ECMAScript 並沒有直接支援 Static Variable,但可使用 Function Property 或 Closure 實現。
為了讓 Function 的可讀性更佳,我們會在 Function 內建立 Local Variable,亦可使用 IIFE 與 Arrow Function 的 Parameter 取代。
IIFE 為 FP 的招牌菜,由於其獨特的 Lexical Scope,使其在 ECMAScript 有不少獨特應用。
ECMAScript 無論使用 Object Literal 或者 new 建立 Object,所有的 Property 都是 Public,也就是 ECMAScript 沒有 Field 概念,而 Encapsulation 算是 OOP 最基本原則之一,這也使得使用 ECMAScript 實踐 OOP 時有些許缺憾,本文使用 Closure 實踐 Encapsulation,並探討 Stage 3 的 Private Class Field 語法。
ECMAScript 2015 雖然支援了 Class,但沒支援 Private Field 始終是一大缺憾,目前 Private Field 已經在 Stage 3,在 Node 12+ 與 Vue 皆可使用。
若我們想找出 Array 中所有 Combination,可使用 flatMap() 與 slice() 實現。
linear-gradient() 雖然是用來建立漸層效果,但也可技巧性建立純色的 Hard-stop。
splice() 是功能很強的 Method,可處理 Insert、Update 與 Remove,唯它是少數幾個會修改原本 Array 的 Method,須小心使用。