深入探討 Function 傳遞 Argument
對 Function 傳遞 Argument 是天天都會用到功能,ECMAScript 對 Argument 傳遞語法雖然精簡,但有些雷一不小心就會踩到,因此特別提出來討論。
對 Function 傳遞 Argument 是天天都會用到功能,ECMAScript 對 Argument 傳遞語法雖然精簡,但有些雷一不小心就會踩到,因此特別提出來討論。
undefined 是 ECMAScript 很特殊的存在,實務上有多種判斷方式。
ECMAScript 提供了 splice() 刪除 Array 中的 Element,但必須先提供要刪除的 Index;但若要刪除的是 Object,由於 Object 的比較是 Reference,所以實踐方式比較不一樣。
清空 Array 也是實務上常遇到功能,ECMAScript 並沒有自帶 clear() Method,必須使用其他方式完成。
ECMAScript 因為提供了 Object Literal,一般我們都會使用 Object Literal 建立 Object,但所建立的 Object 並非 Pure Object,還會繼承 Object.prototype 原本的 Property。
雖然前端都使用 ECMAScript 2015 定義的 ES Module,但後端 Node 進度則較慢,還是不少仍使用 CommonJS Module,因此了解 CommonJS 還是必須的。
有些時候二進位表示法非常好用,如要設定 User 權限是否有 新增、修改、刪除、查詢權限,若每個權限都用二進位的 1 個 bit 表示,0b1111 就表示 4 種權限都有,而 0b1010 則表示只有 新增 與 刪除 權限,以此類推,但這種二進位表示法,該如何在 ECMAScript 使用呢 ?
ES Module 是 ECMAScript 2015 最重要功能,讓 ECMAScript 總算有標準 Module,且語法只有 import 與 export,非常精簡。
ECMAScript 之前很難寫大程式,主要是因為沒有 Module 概念,常常一個檔案寫兩三千行程式,且大量使用 Global Variable 造成 Side Effect 很難維護。早期會使用 Module Pattern 解決,稍後更有 CommonJS 與 AMD 試圖制定 Module 標準,一直到 ES Module 後,ECMAScript 模組化總算塵埃落定,是重要里程碑。
Map 為 ECMAScript 2015 新支援的資料結構,類似 Object 但功能更強,尤其 Key 可為任何型態包含 Object;若 Key 為 Object 時,由於 ECMAScript 語言特性,將無法簡單使用 get() 取得資料。