有時要將 JS 物件轉成其他資料結構,所以需要迭代物件中的所有 property,過去會用 for-in 陳述句,但只想列舉 own property,就必須...
這個系列是為了可以成為更好的前端工程師,所需要有的 JavaScript 技能,我把這些研究的重點都記錄下來了。 ES6 從推出到現在已經過蠻久了,應用上也很成...
常會有找出陣列中是否包含某元素的需求,過去會使用 Array.prototype.indexOf() 來處理,但在 ES2016 (ES7) 提供了 Arra...
Promise 的 then() 和 catch() vs. async / await 的 try-catch 非同步一般處理 處理一個非同步行為 若用 Pr...
本篇介紹 ES2021 (ES12) 提供的 String.prototype.replaceAll()。 過去的字串取代小技巧 將一個字串中的指定子字串,取...
你很常聽到 ES6、ES7、ES2017 等這些名稱嗎?有聽過 ECMA 和 TC39 嗎?ECMAScript 和 JavaScript 又是什麼?規範要去...
本篇介紹 ES2018 (ES9) 提供的 Promise.prototype.finally()。 下面是幾個非同步處理很常見的情境: 進入某頁面時,會立...
本篇來介紹 Async Functions & await expression。 本文同步發表於 Titangene Blog:JavaScrip...
本篇介紹 ES2020 (ES11) 提供的 import()。 前言 在過去,模組只能用靜態宣告的方式 import,接收的字串字面值 (literal)...
貼心小提示 筆者最近開始在整理內容並且使用 TypeScript 實驗並且寫各種小專案,因此 Day 50+ 以後的內容通常都是筆者偶爾會整理的一些很實用的東...
閱讀本篇文章前,仔細想想看 Generators 使用上有哪些特點? 積極求值(Eager Evaluation)與惰性求值(Lazy Evaluatio...
本篇介紹 ES2020 (ES11) 提供的 Nullish Coalescing Operator ( ?? 運算子)。 過去的 || 運算子 如果某個值為...
寫程式應該很常會用到指數運算,過去我們會用 Math.pow(),但在 ES2016 (ES7) 提供了 exponentiation operator (指...
閱讀本篇文章前,仔細想想看 迭代器(Iterator)與聚合物(Collection)的差別在哪? 迭代器模式要如何實踐?實踐的目的為何? 什麼是多型巡訪...
在字串的前綴或後綴補字元,是字串處理常見的需求,過去要自行處理,終於在 ES2017 (ES8) 新增了 String.prototype.padStart(...
閱讀本篇文章前,仔細想想看 同步與非同步程序的差異性在哪?你能夠列舉哪些是 JS 裡有非同步的機制的東西嗎? 為何我們需要非同步的程序?同步執行不是很直觀...
本系列文章經過重新編排和擴充,已出書為ECMAScript關鍵30天。原始文章因當時準備時程緊迫,多少有些許錯誤。為了避免造成讀者的困擾,以及配合書籍的內容規...
本篇介紹 ES2020 (ES11) 提供的 Optional Chaining Operator ( ?. 運算子)。 前言 當你要存取某個變數上的 pro...
本篇介紹 ES2018 (ES9) 提供的 RegExp Named Capture Groups。 過去的 Numbered Capture Groups...
本篇介紹 ES2020 (ES11) 提供的 String.prototype.matchAll()。 過去的 RegExp 若將一個字串使用的 RegExp...
本系列文章經過重新編排和擴充,已出書為ECMAScript關鍵30天。原始文章因當時準備時程緊迫,多少有些許錯誤。為了避免造成讀者的困擾,以及配合書籍的內容規...
本篇介紹 ES2021 (ES12) 提供的 Logical assignment operators ( &&=、||= 和 ??= )。...
本系列文章經過重新編排和擴充,已出書為ECMAScript關鍵30天。原始文章因當時準備時程緊迫,多少有些許錯誤。為了避免造成讀者的困擾,以及配合書籍的內容規...
本篇介紹 ES2020 (ES11) 提供的 Promise.allSettled()。 前言 在開始介紹 Promise.allSettled() 之前,先...
本篇介紹 ES2021 (ES12) 提供的 Numeric Separators。 過去的 Number 一直以來,很大的數字,或是有很多小數位的數字可讀性...
本篇介紹 ES2020 (ES11) 提供的 BigInt。 本文同步發表於 Titangene Blog:JavaScript 之旅 (22):BigI...
本篇介紹 ES2021 (ES12) 提供的 Promise.any() 和 AggregateError。 之前有介紹 ES2020 (ES11) 提供的...
本篇介紹 ES2018 (ES9) 提供的 RegExp 的 s (dotAll) flag。 本篇會有很多特殊字元,但 IT 鐵人這裡無法顯示這些字元,所...
本篇介紹 ES2018 (ES9) 提供的 object rest/spread properties。 在 ES6 時,引入了以下特性: 用於陣列解構賦值...
本系列文章經過重新編排和擴充,已出書為ECMAScript關鍵30天。原始文章因當時準備時程緊迫,多少有些許錯誤。為了避免造成讀者的困擾,以及配合書籍的內容規...