1.可選鏈接
可選鏈接是 JAVAScript 中的一項新功能,它允許開發人員編寫更簡潔、更易于閱讀的代碼。使用可選鏈接,您可以訪問對象的嵌套屬性,而不必擔心這些屬性是否存在。
const user = {
name: 'John',
address: {
city: 'New York',
state: 'NY'
}
};
console.log(user?.address?.city); // Output: New York
console.log(user?.address?.zipCode); // Output: undefined
在上面的示例中,我們使用可選的鏈接運算符 (?.) 來訪問地址對象的 city 屬性。如果 address 對象不存在,或者它沒有 city 屬性,代碼將簡單地返回 undefined。
2. 無效合并運算符
nullish 合并運算符 (??) 是 JavaScript 中的另一個新功能,可用于為可能為 null 或未定義的變量提供默認值。
const name = null ?? 'John';
console.log(name); // Output: John
在上面的示例中,我們使用 nullish 合并運算符將默認值“John”分配給 name 變量,因為它的初始值為 null。
3.Promise.allSettled()
Promise.allSettled() 方法是 JavaScript 中 Promise API 的新增功能。它允許開發人員同時運行多個Promise并獲得所有Promise的結果,無論它們是解決還是拒絕。
const promises = [
Promise.resolve(1),
Promise.reject('Error'),
Promise.resolve(3)
];
Promise.allSettled(promises)
.then(results => console.log(results));
// Output:
// [
// { status: 'fulfilled', value: 1 },
// { status: 'rejected', reason: 'Error' },
// { status: 'fulfilled', value: 3 }
// ]
在上面的示例中,我們使用 Promise.allSettled() 方法同時運行三個Promise,然后記錄所有承諾的結果,包括被拒絕的結果。
4. 對象.fromEntries()
Object.fromEntries() 方法是 JavaScript 中對象 API 的新增功能。它允許開發人員從鍵值對數組創建對象。
const entries = [
['name', 'John'],
['age', 30],
['city', 'New York']
];
const obj = Object.fromEntries(entries);
console.log(obj); // Output: { name: 'John', age: 30, city: 'New York' }
在上面的示例中,我們使用 Object.fromEntries() 方法從鍵值對數組創建對象。
5.BigInt
BigInt 數據類型是 JavaScript 的新增功能,它允許開發人員使用大于 Number 數據類型支持的最大值的整數。
const a = BigInt(9007199254740991);
const b = BigInt(9007199254740991);
console.log(a + b); // Output: 18014398509481982n
在上面的示例中,我們使用 BigInt 將兩個非常大的數字相加。
6.可選的 Catch 綁定
可選的 catch 綁定是 JavaScript 中的一項新功能,它允許開發人員在不需要參數的情況下捕獲錯誤。這可以使代碼更簡潔,更易于閱讀。
try {
// some code that may throw an error
} catch {
// handle the error without a parameter
}
在上面的示例中,我們使用可選的 catch 綁定來捕獲錯誤而不指定參數。如果您不需要在 catch 塊中使用錯誤對象,這會很有用。
7.數組.prototype.flatMap()
Array.prototype.flatMap() 方法是 JavaScript 中 Array API 的新增功能。它允許開發人員在一個步驟中映射然后展平數組。
const arr = [1, 2, 3, 4];
const result = arr.flatMap(x => [x * 2]);
console.log(result); // Output: [2, 4, 6, 8]
在上面的示例中,我們使用 Array.prototype.flatMap() 方法將數組的每個元素乘以 2,然后將結果數組展平為單個數組。
結論
這些只是可供開發人員使用的許多很酷的現代 JavaScript 功能中的一小部分。通過跟上語言的最新更新,您可以編寫更高效、更簡潔的代碼,并利用可以幫助您成為更好的開發人員的新工具和技術。