作為開發人員,了解 JavaScript 的最新進展對於編寫高效、現代且可擴展的程式碼至關重要。在這篇文章中,我們將探討 8 個令人興奮的新 JavaScript 概念,您應該了解這些概念,以將您的程式設計技能提升到新的水平。

請訂閱我的 YouTube 頻道來支援我的頻道並獲取更多 Web 開發教學。

1. 可選連結 (?.)

ECMAScript 2020 中引入的可選連結可讓您讀取位於連接物件鏈深處的屬性值,而無需檢查鏈中的每個參考是否有效。

let name = person?.address?.street?.name;

2. 空值合併 (??)

ECMAScript 2020 中也引入了 nullish 合併運算符,如果它不為 null 或未定義,則傳回第一個運算元,否則傳回第二個運算符。

let name = person?.name?? 'Unknown';

3. 大整數

BigInt 是 JavaScript 中的一種新的數位基元,用於表示任意精確度的整數,從而允許使用大整數進行精確計算。

const x = 12345678901234567890n;

4.全域這個

新的全域物件 globalThis 提供了一種與現代 JavaScript 環境相容的存取全域物件的方法。

console.log(globalThis === window); // true in a browser

5. 符合所有()

String 原型上的新方法 matchAll() 傳回一個迭代器,該迭代器產生正規表示式與字串的匹配,包括捕獲組。

const regex = /(\w)(\d)/g;
const str = 'a1b2c3';
for (const match of str.matchAll(regex)) {
  console.log(match);
}

6. Promise.allSettled()

Promise API 上的一個新方法 allSettled() 傳回一個承諾,當陣列中的所有承諾都得到解決或拒絕時,承諾就得到解決。

const promises = [Promise.resolve('a'), Promise.reject('b'), Promise.resolve('c')];
Promise.allSettled(promises).then((results) => console.log(results));

7. String.prototype.at()

String 原型上的新方法 at() 傳回指定索引處的字符,允許負索引存取字串末尾的字符。

const str = 'hello';
console.log(str.at(0)); // 'h'
console.log(str.at(-1)); // 'o'

8. 錯誤原因

Error 物件的新屬性 Cause 允許您指定錯誤的根本原因。

try {
  throw new Error('Error occurred', { cause: new Error('Underlying cause') });
} catch (error) {
  console.log(error.cause);
}

請隨時在下面留下您的意見或問題。如果您覺得本指南有幫助,請與您的同行分享,並關注我以獲取更多 Web 開發教程。快樂編碼!

關注並訂閱:


原文出處:https://dev.to/dipakahirav/8-exciting-new-javascript-concepts-you-need-to-know-45hp


共有 0 則留言