作為開發人員,了解 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 開發教程。快樂編碼!
網址:[Dipak Ahirav] (https://www.dipakahirav.com)
電子郵件:[email protected]
Instagram : devdivewithdipak
YouTube :devDive 與 Dipak
領英:迪帕克·阿希拉夫
原文出處:https://dev.to/dipakahirav/8-exciting-new-javascript-concepts-you-need-to-know-45hp