使用 Object.keys() 將 Object 所有 Key 轉成 Array
若要將 Object 的所有 Key 轉成 Array,可使用 Object.keys()。
若要將 Object 的所有 Key 轉成 Array,可使用 Object.keys()。
ECMAScript 之基本型別有 String、Number、Boolean、Object、Array 與 Function,可由其 Prototype Chain 更了解這些型別特性。
除了一般語言都有的 Global Scope 與 Local Scope 外, ECMAScript 還有一個很特殊的 Lexical Scope,這導致了 Closure 與日後 Functional Programming 發展。
不只 OOP 有 Design Pattern,事實上 FP 也有不少 Pattern,而 Currying 算 FP 最基礎、使用最多的 Pattern。ECMAScript 雖然沒有直接支援,但因為有 First-class Function 、Lexical Scope,使得 Currying 在 ECMAScript 中使用成為可能。
ECMAScript 2015 支援 Class 之後,很多人認為總算達到 OOP 該有高度,事實上 ECMAScript 仍有其他方式亦可完成所有 Class 能做事情。
若要在 String 之後根據指定長度補 0,ECMAScript 提供了 padEnd() 。
若要在 String 之前根據指定長度補 0,ECMAScript 提供了 padStart() 。
ECMAScript 2015 支援了 extends,至此 ECMAScript 能輕鬆實踐 Inheritance,但事實上也能由 Prototype Chain 實現。
ECMAScript 2015 雖然支援了 class 語法,但本質上仍是使用 Prototype 實作,本文深入探討其背後黑魔法。
ECMAScript 5 並沒有 Class,雖然仍然可以使用 new 建立 Object,但必須透過 Constructor Function,但究竟 Constructor Function 有什麼黑魔法,竟然可以使用 new 建立 Object 呢 ?