自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

七個你可能還不知道的強大的 JavaScript 特性

開發(fā) 前端
在本文中,我們將探討大多數(shù)開發(fā)人員可能不知道的7個很酷的現(xiàn)代 JavaScript 特性。

1.可選鏈接

可選鏈接是 JavaScript 中的一項新功能,它允許開發(fā)人員編寫更簡潔、更易于閱讀的代碼。使用可選鏈接,您可以訪問對象的嵌套屬性,而不必擔心這些屬性是否存在。

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 的新增功能。它允許開發(fā)人員同時運行多個Promise并獲得所有Promise的結(jié)果,無論它們是解決還是拒絕。

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,然后記錄所有承諾的結(jié)果,包括被拒絕的結(jié)果。

4. 對象.fromEntries()

Object.fromEntries() 方法是 JavaScript 中對象 API 的新增功能。它允許開發(fā)人員從鍵值對數(shù)組創(chuàng)建對象。

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() 方法從鍵值對數(shù)組創(chuàng)建對象。

5.BigInt

BigInt 數(shù)據(jù)類型是 JavaScript 的新增功能,它允許開發(fā)人員使用大于 Number 數(shù)據(jù)類型支持的最大值的整數(shù)。

const a = BigInt(9007199254740991);
const b = BigInt(9007199254740991);


console.log(a + b); // Output: 18014398509481982n

在上面的示例中,我們使用 BigInt 將兩個非常大的數(shù)字相加。

6.可選的 Catch 綁定

可選的 catch 綁定是 JavaScript 中的一項新功能,它允許開發(fā)人員在不需要參數(shù)的情況下捕獲錯誤。這可以使代碼更簡潔,更易于閱讀。

try {
// some code that may throw an error
} catch {
// handle the error without a parameter
}

在上面的示例中,我們使用可選的 catch 綁定來捕獲錯誤而不指定參數(shù)。如果您不需要在 catch 塊中使用錯誤對象,這會很有用。

7.數(shù)組.prototype.flatMap()

Array.prototype.flatMap() 方法是 JavaScript 中 Array API 的新增功能。它允許開發(fā)人員在一個步驟中映射然后展平數(shù)組。

const arr = [1, 2, 3, 4];


const result = arr.flatMap(x => [x * 2]);


console.log(result); // Output: [2, 4, 6, 8]

在上面的示例中,我們使用 Array.prototype.flatMap() 方法將數(shù)組的每個元素乘以 2,然后將結(jié)果數(shù)組展平為單個數(shù)組。

結(jié)論

這些只是可供開發(fā)人員使用的許多很酷的現(xiàn)代 JavaScript 功能中的一小部分。通過跟上語言的最新更新,您可以編寫更高效、更簡潔的代碼,并利用可以幫助您成為更好的開發(fā)人員的新工具和技術(shù)。


責任編輯:華軒 來源: web前端開發(fā)
相關(guān)推薦

2023-11-06 11:32:46

CSS選擇器作用域

2020-12-14 07:51:16

JS 技巧虛值

2021-03-18 14:02:56

iOS蘋果細節(jié)

2021-07-12 07:59:06

安全 HTML 屬性

2025-02-27 08:33:13

2023-02-20 15:04:24

開發(fā)API工具

2023-02-21 15:25:33

開發(fā)工具API

2024-04-01 07:58:49

Next.js 14ReactWeb應(yīng)用

2023-03-19 16:02:33

JavaScrip技巧編程語言

2022-05-05 12:02:45

SCSS函數(shù)開發(fā)

2020-11-03 09:51:04

JavaScript開發(fā) 技巧

2017-11-07 21:58:25

前端JavaScript調(diào)試技巧

2021-10-22 09:41:26

橋接模式設(shè)計

2024-09-11 16:21:09

2025-03-19 09:46:45

2013-05-31 10:57:32

html5html5 api

2020-05-09 08:48:21

JavaScript原生方法代碼

2022-10-13 11:48:37

Web共享機制操作系統(tǒng)

2010-09-13 16:12:06

Mozilla實驗室

2012-11-23 10:57:44

Shell
點贊
收藏

51CTO技術(shù)棧公眾號