從 Static Method 抽出 Free Function
ECMAScript 提供了不少原生 Static Method,但我們也可將其抽成 Free Function 使其更符合 Functional 風格。
ECMAScript 提供了不少原生 Static Method,但我們也可將其抽成 Free Function 使其更符合 Functional 風格。
ECMAScript 的 Object 可當成 Key / Value 的 Container 使用,若想將 Function 的任意 Argument 變成 Key,這該如何實現呢 ?
對 Function 能否支援 無限 Argument,一直是檢驗一個語言的指標。在 ECMAScript 5 提供了 arguments Array-like Object;ECMAScript 2015 則提供了更好的 Rest Parameter 取代 arguments。
除了使用 Promise.resolve() 與 Promise.reject() 建立 Promise 外,也可使用 Promise Constructor 建立 Promise,其 Argument 為 Executor Function,提供了 resolve() 與 reject(),可用來建立 Fulfilled Promise 與 Rejected Promise。
ECMAScript 2015 的 Spread Operator 是很有創意的發明,讓很多操作都簡化成 ... 即可,且可讀性更佳。
若想自行建立 Rejected Promise,ECMAScript 提供了三種方式。
若想自行建立 Fulfilled Promise,ECMAScript 提供了三種方式。
有了 Promise 後應盡量避免使用 Nested Callback,但並不表示 Nested Promise 也不好,有些需求剛好適合 Nested Promise。
ECMAScript 行尾要不要加 Semicolon 一直是很爭議的議題,傳統都會加上 ;,但最近則發現越來越多 Project 都不加,如 Vue、Redux … 等,到底 ASI 是什麼 ? 行尾不加 ; 會有什麼問題嗎 ?
由於 Promise 是 Asynchronous,因此回傳時間不確定,若想實作出超過指定時間就 Timeout,可使用 Promise.race() 實作。