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

ES10中七個最具變革性的JavaScript特性

開發(fā) 前端
ES10那年很棒,import現(xiàn)在可以像Require()一樣作為函數(shù)使用。一個Async函數(shù)。將Import保持在頂層不再是必須的;我們現(xiàn)在可以在編譯時輕松解析模塊的名稱。

JavaScript在過去10年里取得了長足的進步,每一年都有全新的功能升級。

還記得我們以前是這樣創(chuàng)建"類"的嗎?

function Person(name) {
  this.name = name;
}

Person.prototype.sayHello = function() {
  console.log("Hello, " + this.name);
};

是的,變化很大!

讓我們來看看ES10(2019年)中引入的7個最重要的特性,看看你是否錯過了其中一些。

1. 即時模塊化:動態(tài)import

ES10那年很棒,import現(xiàn)在可以像require()一樣作為函數(shù)使用。一個async函數(shù)。

將import保持在頂層不再是必須的;我們現(xiàn)在可以在編譯時輕松解析模塊的名稱。

為了高性能,可以選擇性地只在絕對需要時加載模塊...

if (user.is_admin) {
  const admin = await import('./admin.js');
  admin.setupDashboard();
}

基于用戶或變量輸入加載模塊...

const language = 'french';
const translations = await import(`./translations/${language}.js`);

它也非常適合使用不再支持require()的ES模塊:

2. 扁平化曲線

flat()和flatMap()提供了更清晰的方式來輕松扁平化多維數(shù)組。

消除了痛苦的數(shù)組循環(huán)扁平化代碼的需求:

flatMap()相當于調(diào)用map(),然后flat(1):

3. 將數(shù)組轉(zhuǎn)換為對象

ES10還引入了Object.fromEntries()到JavaScript世界。

快速將鍵值對列表轉(zhuǎn)換為等效的鍵值對象:

const entries = [['name', 'John'], ['age', 30]];
const obj = Object.fromEntries(entries);
console.log(obj); // { name: 'John', age: 30 }

4. 精確清理你的字符串

trimStart()和trimEnd()。

在此之前,每個人都在使用NPM的trim - 愉快地給項目增加3.35KB...

即使現(xiàn)在:

npm i trim

然后Array trim()出現(xiàn)了,接著是trimStart()和trimEnd()。

const str = '   Hello, World!   ';
console.log(str.trimStart()); // 'Hello, World!   '
console.log(str.trimEnd());   // '   Hello, World!'

5. 捕獲錯誤而不帶包袱

通過新的可選catch綁定,當你對錯誤參數(shù)無所作為時,現(xiàn)在可以安全地省略catch塊的錯誤參數(shù):

6. 無驚喜排序

穩(wěn)定的數(shù)組排序。

以前,在對數(shù)組進行排序時,我們絕對無法保證相等元素的排列。

但在ES10之后的JS代碼中,我們100%確定react總是在vue之前,vue總是在angular之前。

7. 要么做大,要么回家:BigInt

BigInt的名稱揭示了它的目的:用于加載難以置信的巨大整數(shù)值:

因為普通整數(shù)做不到:

最后的思考

ES10為JavaScript標志著一個重要的飛躍,引入了幾個對現(xiàn)代開發(fā)至關(guān)重要的特性。

使用它們來編寫更清晰、更簡潔、更具表現(xiàn)力和清晰度的代碼。

責任編輯:姜華 來源: 大遷世界
相關(guān)推薦

2024-08-01 08:38:59

2024-07-25 08:37:48

2024-07-30 08:40:00

2024-08-12 08:36:28

2025-03-04 10:03:47

2024-06-14 10:22:55

2024-07-17 13:43:04

2024-08-19 08:35:11

2019-12-11 09:00:00

ES7ES8ES9

2020-06-24 08:27:36

ES數(shù)組對象

2024-03-05 14:46:48

智慧城市可持續(xù)城市

2021-06-10 08:00:00

首席信息安全官IT數(shù)據(jù)

2023-04-09 23:37:31

JavaScript開發(fā)

2022-08-02 12:03:26

Python可觀測性軟件開發(fā)

2023-09-07 16:28:46

JavaScrip

2022-09-13 10:13:40

數(shù)據(jù)管理系統(tǒng)數(shù)據(jù)管理CIO

2024-03-21 14:27:13

JavaScript數(shù)組

2024-01-31 12:13:02

JavaScriptSet元素

2023-03-24 07:30:53

JavaScript項目元框架

2022-09-19 00:46:18

JavaScrip功能開發(fā)
點贊
收藏

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