Class 與 Constructor Function 詳細比較
Class 雖然是 Constructor Function 的 Syntatic Sugar,但與真正 Constructor Function 仍有不少差異,本文深入探討兩者差異。
Class 雖然是 Constructor Function 的 Syntatic Sugar,但與真正 Constructor Function 仍有不少差異,本文深入探討兩者差異。
Class 是 OOP 必備觀念,ECMAScript 2015 總算支援 Class,讓很多人倍感親切,但事實上 ECMAScript 的 Class 並非如你想得這麼單純。
ECMAScript 的 Dynamic Type 為其一大特性,讓我們能在 Runtime 對 Object 新增 Property;Function 亦為 Object,因此也能對 Function 新增 Property 取代 Global Variable。
對 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 使用呢 ?