精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ECMAScript 最新進展匯總!

開發 前端
TC39 是一個推動 JavaScript 發展的技術委員會,由各個主流瀏覽器廠商的代表構成,其主要工作就是制定 ECMAScript 標準。TC39 每兩個月舉行一次會議。對于新提案,從提出到最后被納入 ECMAScript 新特性。

2023 年 7 月 11 日 - 7 月 13 日,第 97 次 TC39 會議在挪威舉行,下面就來看看在這次會議中哪些 ECMAScript 提案取得了新進展吧!

TC39 是一個推動 JavaScript 發展的技術委員會,由各個主流瀏覽器廠商的代表構成,其主要工作就是制定 ECMAScript 標準。TC39 每兩個月舉行一次會議。對于新提案,從提出到最后被納入 ECMAScript 新特性,TC39 的規范中分為五步:

  • Stage 0(strawman),任何TC39的成員都可以提交。
  • Stage 1(proposal),進入此階段就意味著這一提案被認為是正式的了,需要對此提案的場景與API進行詳盡的描述。
  • Stage 2(draft),這一階段的提案如果能最終進入到標準,那么在之后的階段都不會有太大的變化,因為理論上只接受增量修改。
  • Stage 3(candidate),這一階段的提案只有在遇到了重大問題才會修改,規范文檔需要被全面的完成。
  • Stage 4(finished),這一階段的提案將會被納入到ES每年發布的規范之中。

附: ECMAScript 2023(ES14)已于 6 月 27 日正式發布,詳見 >>> 《ECMAScript 2023 正式發布,有哪些新特性?》

Stage 3

數組分組

 提案[1] 用于簡化數組(和可迭代對象)中的分組操作。數組分組是一種非常常見的操作,其將相似的數據組合成組允許開發者計算更高階的數據集。

const array = [1, 2, 3, 4, 5];

// Object.groupBy 根據任意鍵對元素進行分組,這里通過奇偶數對元素進行分組。
Object.groupBy(array, (num, index) => {
  return num % 2 === 0 ? 'even': 'odd';
});
// =>  { odd: [1, 3, 5], even: [2, 4] }

// Map.groupBy 返回一個 Map 對象,方便使用對象鍵進行分組。
const odd  = { odd: true };
const even = { even: true };
Map.groupBy(array, (num, index) => {
  return num % 2 === 0 ? even: odd;
});
// =>  Map { {odd: true}: [1, 3, 5], {even: true}: [2, 4] }

該提案提供了兩個方法:Object.groupBy 和 Map.groupBy。前者返回一個沒有原型的對象,可以方便地進行解構操作,并且可以防止與全局 Object 屬性發生意外沖突。后者返回一個普通的 Map 實例,可以對復雜鍵類型進行分組(比如復合鍵或元組)。

Promise.withResolvers

當手動創建一個 Promise 時,用戶必須傳遞一個執行器回調函數,該函數接受兩個參數:

  • resolve 函數,用于觸發 Promise 的解決。
  • reject 函數,用于觸發 Promise 的拒絕。

如果回調函數可以嵌入調用一個最終觸發解決或拒絕的異步函數(例如注冊事件監聽器),則這種方式可以很好地工作。

const promise = new Promise((resolve, reject) => {
  asyncRequest(config, response => {
    const buffer = [];
    response.on('data', data => buffer.push(data));
    response.on('end', () => resolve(buffer));
    response.on('error', reason => reject(reason));
  });
});

然而,通常開發人員希望在實例化 Promise 后配置其解決和拒絕行為。目前,這需要一個繁瑣的解決方法,從回調范圍中提取 resolve 和 reject 函數:

let resolve, reject;
const promise = new Promise((res, rej) => {
  resolve = res;
  reject = rej;
});
asyncRequest(config, response => {
  const buffer = [];
  response.on('callback-request', id => {
    promise.then(data => callback(id, data));
  });
  response.on('data', data => buffer.push(data));
  response.on('end', () => resolve(buffer));
  response.on('error', reason => reject(reason));
});

開發人員可能還有其他要求,需要將 resolve/reject 傳遞給多個調用方,因此必須以這種方式實現:

let resolve = () => { };
let reject = () => { };

function request(type, message) {
  if (socket) {
    const promise = new Promise((res, rej) => {
      resolve = res;
      reject = rej;
    });
    socket.emit(type, message);
    return promise;
  }

  return Promise.reject(new Error('Socket unavailable'));
}

socket.on('response', response => {
  if (response.status === 200) {
    resolve(response);
  }
  else {
    reject(new Error(response));
  }
});

socket.on('error', err => {
  reject(err);
});

Promise.withResolvers[2] 提案簡單地在 Promise 構造函數中添加了一個靜態方法,暫時稱為 withResolvers,該方法返回一個 Promise,并方便地公開其解決和拒絕函數。

const { promise, resolve, reject } = Promise.withResolvers();

源階段導入

無論是對于 JavaScript 還是 WebAssembly,都需要能夠更緊密地定制模塊的加載、鏈接和執行,超出了標準的宿主執行模型。

  • 對于 JavaScript,創建自定義加載器需要一種模塊源類型,以便共享宿主的解析、執行、安全性和緩存語義。
  • 對于 WebAssembly,WebAssembly 模塊的導入和導出通常需要進行自定義的檢查和封裝,以便正確設置,這通常需要手動的獲取和實例化工作,在當前的宿主 ESM 集成提案中沒有提供相應支持。

通過將語法模塊源導入支持作為新的導入階段,可以創建一個基礎機制,將模塊的靜態、安全性和工具化優勢從 ESM 集成擴展到這些動態實例化用例。

提案[3]允許ES模塊從主機提供的編譯后的模塊源的反映表達式進行導入:

import source x from "<specifier>";

僅支持上述形式的導入,不支持命名導出和未綁定聲明。

動態形式使用 import.<phase>:

const x = await import.source("<specifier>");

通過將階段作為顯式語法的一部分,可以在靜態上下文中靜態區分全動態導入和僅用于源的導入(無需處理依賴項)。

處理時間區域規范化的變化

ECMAScript中的時間區域依賴于IANA時區數據庫(TZDB)的標識符,如America/Los_Angeles或Asia/Tokyo。該提案旨在改善開發人員在TZDB中更改時間區域的規范標識符(例如從Europe/Kiev到Europe/Kyiv)時的開發體驗。

減少實現之間以及實現與規范之間的差異

  1. 已完成 - 簡化處理時區標識符的抽象操作。
  2. 已完成 - 澄清規范以防止更多的分歧。
  3. 在 Temporal 廣泛采用之前,幫助V8和WebKit更新13個過時的規范標識(如Asia/Calcutta,Europe/Kiev和Asia/Saigon),以免出現問題。
  4. 制定規范文本以減少實現之間的分歧。這一步需要在實現者和TG2(ECMA-402團隊)之間找到共同點,討論規范化應該如何工作。

減少標準化變化的影響

  1. 避免對鏈接進行可觀察的跟隨。如果標準化變化不會影響現有代碼,那么未來的標準化變化就不太可能破壞Web。由于標準化是實現定義的,這個變化(或許會、也許不會;需要進一步研究)在Temporal第4階段之后發布可能是安全的,但最好不要等太久。
Temporal.TimeZone.from('Asia/Calcutta');
// => Asia/Kolkata(Firefox上當前的Temporal行為)
// => Asia/Calcutta(建議:在將標識符返回給調用方時,不要遵循鏈接)
  1. 添加Temporal.TimeZone.prototype.equals方法。由于(5)會在創建TimeZone對象時停止標準化標識符,因此有一個直觀的方法來判斷兩個 TimeZone 對象是否表示相同的時區。
// 更人性化的標準化相等性測試
Temporal.TimeZone.from('Asia/Calcutta').equals('Asia/Kolkata');
// => true

Stage 2

Time Zone Canonicalization[4]

JavaScript應用程序可能會變得非常龐大,以至于即使加載它們的初始化腳本,執行起來也會產生顯著的性能開銷。通常,這種情況發生在應用程序的生命周期較晚的階段,往往需要進行大規模的改動以提高性能。加載性能是一個重要的改進領域,涉及預加載技術以避免瀑布效應,并使用動態導入進行模塊的惰性加載。

盡管使用了這些技術解決了加載性能問題,但代碼本身的編寫方式仍會導致執行性能開銷和CPU瓶頸在初始化過程中出現。

提案[5]是引入一種新的導入語法形式,它將始終返回一個命名空間對象。在使用時,模塊及其依賴項不會被執行,但會完全加載到可以執行的狀態,然后才會認為模塊圖已加載完成。只有當訪問該模塊的屬性時,才會執行相應的操作。

該API將使用以下語法:

// 或使用自定義關鍵字: 
import defer * as yNamespace from "y";

Stage 1

DataView get/set Uint8Clamped 方法

現在只有其中 10 個具有DataView的 get/set 方法。

該提案[6]旨在添加DataView.prototype.getUint8Clamped和DataView.prototype.setUint8Clamped方法。

  • getUint8Clamped(offset: number): number:從指定的偏移量讀取一個8位無符號整數(Uint8Clamped)值,并返回該值。
  • setUint8Clamped(offset: number, value: number): void:將一個8位無符號整數(Uint8Clamped)值寫入到指定的偏移量。

可選鏈賦值

該提案[7]建議在賦值運算符左側添加對可選鏈的支持:a?.b = c。在實際開發中,經常需要對對象的屬性進行賦值,但前提是該對象確實存在。

通常的做法是使用if語句來保護賦值操作:

if (obj) {
  obj.prop = value;
}

新語法和現有語法對比如下:

相關鏈接

[1]提案: https://github.com/tc39/proposal-array-grouping。

[2]Promise.withResolvers: https://github.com/tc39/proposal-promise-with-resolvers。

[3]提案: https://github.com/tc39/proposal-source-phase-imports。

[4]Time Zone Canonicalization: https://github.com/tc39/proposal-canonical-tz。

[5]提案: https://github.com/tc39/proposal-defer-import-eval。

[6]提案: https://github.com/tc39/proposal-dataview-get-set-uint8clamped。

[7]提案: https://github.com/tc39/proposal-optional-chaining-assignment。

責任編輯:姜華 來源: 前端充電寶
相關推薦

2009-09-25 09:27:33

Ubuntu 2010最新進展Lucid Lynx

2012-11-19 10:50:39

思杰CloudStack開源

2012-11-19 10:37:57

思杰OpenStack

2015-11-12 09:27:13

C++最新進展

2021-09-14 10:03:35

RustLinux開發工作

2020-07-02 16:00:53

?Flutter桌面應用代碼

2021-09-16 10:15:56

Linux內核Rust

2023-04-06 07:30:02

2014-06-17 09:58:15

容器Google

2012-02-09 09:49:48

2023-04-19 20:30:49

Rust商標政策

2009-03-23 08:44:29

Windows Ser微軟操作系統

2024-06-27 11:02:44

2023-04-26 16:38:08

2013-04-09 17:27:19

GMIC球移動互聯網大會

2021-06-15 14:54:23

ReactReact 18SSR

2023-04-17 19:12:19

2020-09-23 22:33:28

量子芯片網絡
點贊
收藏

51CTO技術棧公眾號

国产欧美一区二区三区另类精品| 国产亚洲在线播放| 国产在线青青草| 国产51人人成人人人人爽色哟哟| 蓝色福利精品导航| 毛片精品免费在线观看| 熟女人妻在线视频| 成人av色网站| 精品久久久久久久中文字幕| 色综合久久av| 秋霞视频一区二区| 蜜桃视频免费观看一区| 久久久久久久av| 影音先锋男人看片资源| xxxxxhd亚洲人hd| 欧美午夜片在线看| 亚洲不卡中文字幕无码| 欧美成人性生活视频| 91首页免费视频| 91久久国产自产拍夜夜嗨| 黄色在线视频网址| 欧美日本二区| 三级精品视频久久久久| 爱爱免费小视频| 成人性生交大片免费看中文视频 | 久久99国产精品久久| 91极品视频在线| 黑人巨大精品一区二区在线| 精品一区二区三区在线| 亚洲激情在线观看| xxxx国产视频| 国产电影一区| 在线成人免费观看| 天天操天天爽天天射| 自拍一区在线观看| 亚洲成a人片在线观看中文| 欧美h视频在线观看| 国产福利在线观看| 久久一区二区视频| 国产在线一区二区三区欧美| 亚洲高清视频在线播放| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品视频久| 老熟妇一区二区三区| 亚洲主播在线| 欧美最猛性xxxxx亚洲精品| 国产污视频在线观看| 综合激情一区| 欧美久久久精品| 麻豆明星ai换脸视频| 久久日文中文字幕乱码| 中文字幕精品久久| 日韩一级av毛片| 国产日产一区| 中文字幕日韩av电影| 国产成人一区二区在线观看| 欧美日韩国产免费观看视频| 亚洲日韩欧美视频| jizz中文字幕| 久久国产电影| 欧美成人亚洲成人| 国产一级片免费看| 99精品视频免费观看视频| 亚州国产精品久久久| 丰满少妇乱子伦精品看片| 在线综合亚洲| 国产精品99导航| 亚洲视频在线观看免费视频| 久久99久久久久久久久久久| 亚洲qvod图片区电影| 精品黑人一区二区三区在线观看| 国产成人精品aa毛片| 国产日韩久久| 国产综合在线观看| 国产精品久久久一本精品 | 99精彩视频在线观看免费| 性中国古装videossex| 成人精品视频一区二区三区 | 在线国产情侣| 亚洲人成在线观看一区二区| 久艹在线免费观看| 欧美www.| 欧美大片在线观看一区二区| 一起草在线视频| japanese国产精品| 欧美成人一二三| 国产午夜精品久久久久| 乱一区二区av| 国产一区再线| 天堂аⅴ在线地址8| 亚洲一区中文在线| 欧美精品aaaa| 中文字幕日韩高清在线| 亚洲欧美日韩天堂| 亚洲成人生活片| 久久狠狠婷婷| 69堂成人精品视频免费| 午夜成人鲁丝片午夜精品| 久久综合久久鬼色中文字| 日韩视频在线免费播放| 韩国主播福利视频一区二区三区| 这里只有精品电影| 色婷婷在线影院| 欧美精品一级| 国产精品爽黄69天堂a| 风流老熟女一区二区三区| 国产午夜亚洲精品午夜鲁丝片 | 日韩一卡二卡三卡| 国精产品一区二区三区| 狠狠入ady亚洲精品| 国产精品偷伦一区二区| 婷婷在线免费观看| 亚洲视频免费在线观看| 国产一区亚洲二区三区| 91精品尤物| 色偷偷91综合久久噜噜| 在线观看黄网站| 国产成人精品亚洲午夜麻豆| 亚洲7777| 色尼玛亚洲综合影院| 精品国产123| √天堂中文官网8在线| 日韩成人免费电影| 免费久久99精品国产自| 成人在线免费观看黄色| 51午夜精品国产| 色屁屁草草影院ccyy.com| 一本久道久久久| 国产精品二区在线| 18视频在线观看网站| 3751色影院一区二区三区| 一级特黄曰皮片视频| 久久午夜精品一区二区| 久久狠狠久久综合桃花| 末成年女av片一区二区下载| 亚洲精品在线免费播放| 久久精品国产亚洲av香蕉| 国产精品亚洲а∨天堂免在线| 中文字幕在线中文字幕日亚韩一区| 亚洲伦乱视频| 亚洲人成电影在线| 69亚洲精品久久久蜜桃小说 | 美女一区二区久久| 日本成人三级电影网站| 日韩欧美精品电影| 一区二区三区四区在线观看视频| 日本一本在线观看| 国产日韩欧美一区二区三区乱码| 成人在线观看a| 国产欧美一区二区精品久久久| 日韩av免费在线播放| 久久久久久女乱国产| 姬川优奈aav一区二区| 99久久国产精| 久久久青草婷婷精品综合日韩| 欧美高清性xxxxhdvideosex| 中文字幕在线视频久| 亚洲人成在线电影| 欧美国产一级片| 国产精品理伦片| 亚洲精品中文字幕乱码无线| 欧美精品三级| 国产精品一区二区三区四区五区| а√在线中文在线新版| 日韩精品久久久久久久玫瑰园| 精品国产xxx| 亚洲国产成人在线| 性久久久久久久久久久久久久| 欧美日韩网站| 久久婷婷国产综合尤物精品| 电影一区二区| 不用播放器成人网| 视频污在线观看| 91久久人澡人人添人人爽欧美| 国产在线观看免费视频软件| 国产精品一区二区免费不卡| 欧美 日韩 国产在线观看| 久久最新网址| 91亚色免费| 在线观看的黄色| 日韩中文字幕在线免费观看| 亚洲乱码在线观看| 色噜噜狠狠一区二区三区果冻| www.4hu95.com四虎| 国产精品资源站在线| 一本大道熟女人妻中文字幕在线 | 偷拍自拍亚洲色图| 国产精品日韩欧美| 日本乱理伦在线| 国产一区二区三区在线看| 97人妻精品一区二区三区软件 | 日韩av黄色在线| 国产精品夜间视频香蕉| 后进极品白嫩翘臀在线播放| 尤物精品国产第一福利三区| 成人福利小视频| 欧美在线观看一二区| 久久婷婷一区二区| 国产精品青草久久| 亚洲最大免费视频| 激情五月婷婷综合| 久久久精品在线视频| 欧美伊人影院| 亚洲春色在线视频| 牛牛影视久久网| 亚洲在线免费观看| yiren22亚洲综合| 欧美国产日本在线| 麻豆视频网站在线观看| 亚洲美女精品成人在线视频| www.蜜臀av| 欧美理论片在线| 精品国产午夜福利| 亚洲va在线va天堂| 天天看片中文字幕| 国产精品久久看| 91在线无精精品白丝| 成人av午夜影院| 18深夜在线观看免费视频| 蜜桃一区二区三区在线观看| 国产精品免费成人| 亚洲欧洲另类| 亚洲爆乳无码精品aaa片蜜桃| 久久国产精品亚洲人一区二区三区| 快播亚洲色图| 久久综合社区| 国产偷国产偷亚洲高清97cao| 国产精品一区免费在线| 国产精品视频一| 天堂久久午夜av| 国产福利精品在线| 亚洲永久av| 欧美一级淫片aaaaaaa视频| 婷婷在线播放| 欧美精品久久久久| 岛国毛片av在线| 午夜精品久久久99热福利| 色yeye免费人成网站在线观看| 久久久91精品国产| 毛片在线播放a| 久久精品人人爽| 免费观看久久久久| 久久国内精品一国内精品| 色老头视频在线观看| 日韩视频在线免费观看| 欧美成人精品一区二区男人看| 亚洲天堂成人在线| 国产三级在线| 中文字幕亚洲一区二区三区| 在线免费观看黄色| 久久精品美女视频网站| 福利视频在线| 久久久综合av| 日本不卡1234视频| 国产精品福利久久久| 国产一区影院| 51精品国产人成在线观看| 日韩高清一区| 国产精品午夜av在线| 久久精品福利| 青青草国产精品| 三上亚洲一区二区| 韩国黄色一级大片| 黄色工厂这里只有精品| 内射国产内射夫妻免费频道| 久久午夜影视| 中文字幕第三区| 成人免费高清视频在线观看| 特级西西人体4444xxxx| 国产清纯美女被跳蛋高潮一区二区久久w | 一区二区日韩视频| 日韩欧美一区电影| 污视频软件在线观看| 亚洲天天在线日亚洲洲精| 欧美激情办公室videoshd| 欧美国产日韩在线| 北岛玲heyzo一区二区| 国产日本欧美一区二区三区| 亚洲欧洲国产精品一区| 久久99国产精品99久久| 第一会所亚洲原创| 欧美精品在欧美一区二区| 亚洲一卡久久| 想看黄色一级片| 97se狠狠狠综合亚洲狠狠| 大吊一区二区三区| 亚洲国产一区二区视频| 国产又粗又猛又黄视频| 日韩一级在线观看| 成人动漫在线播放| 久久99亚洲精品| av激情成人网| 国产精选在线观看91| 日韩精品免费| 91国视频在线| 国产老肥熟一区二区三区| 中文文字幕文字幕高清| 亚洲欧洲日本在线| 可以免费在线观看的av| 91精品国产一区二区三区蜜臀| 色鬼7777久久| 欧美国产高跟鞋裸体秀xxxhd| 欧美成人精品三级网站| 国产精品久久精品国产| 91综合久久一区二区| 波多野结衣家庭教师在线播放| 国模娜娜一区二区三区| 丰腴饱满的极品熟妇| 亚洲高清三级视频| 国产精品亚洲lv粉色| 亚洲一区二区精品| 国产自产自拍视频在线观看| 91在线观看欧美日韩| 欧美美女视频| 日本三区在线观看| 99久久99久久精品免费看蜜桃| 欧美日韩一级大片| 欧美三级三级三级爽爽爽| 欧洲天堂在线观看| 97热精品视频官网| 成人午夜大片| 轻点好疼好大好爽视频| 国产一区二区三区精品视频| 久久久免费看片| 在线中文字幕一区二区| 视频一区二区三区国产| 久久久久久久一| 日韩高清一区| 大陆极品少妇内射aaaaaa| 九色综合狠狠综合久久| 99久久99久久精品免费看小说.| 色菇凉天天综合网| 亚洲日本国产精品| 91精品国产高清久久久久久| 亚洲一区二区三区日本久久九| 黑人巨大国产9丨视频| 六月婷婷色综合| 久久99久久99精品免费看小说| 欧美日韩免费不卡视频一区二区三区 | 综合欧美精品| 中文字幕日韩一区二区三区| 激情综合色播五月| 黑鬼狂亚洲人videos| 91精品中文字幕一区二区三区 | 欧美一级大胆视频| 日韩超碰人人爽人人做人人添| 你懂的av在线| 91色九色蝌蚪| 国产成人av免费| 色青青草原桃花久久综合| 日韩综合久久| wwwjizzjizzcom| 成人av在线播放网站| 可以免费在线观看的av| 亚洲欧美中文日韩在线| 日韩一区二区三区在线免费观看 | 可以免费看av的网址| 在线播放/欧美激情| 香蕉成人app免费看片| 国产精品免费一区二区三区观看| 亚洲精品婷婷| 久久久久久久毛片| 91精品国产色综合久久不卡蜜臀| 在线不卡日本v二区707| 国产日韩一区二区| 久久久夜精品| 久久久精品少妇| 欧美成人福利视频| 色偷偷色偷偷色偷偷在线视频| 日本一区视频在线| 久久se精品一区二区| 久久精品www人人爽人人| 日韩av一区在线| 福利一区和二区| 天堂av免费看| 91伊人久久大香线蕉| 中文字幕一区二区人妻| 欧美老肥婆性猛交视频| 夜色77av精品影院| 97人人爽人人| 五月激情六月综合| 一广人看www在线观看免费视频| av一本久道久久波多野结衣| 一本久道久久综合狠狠爱| 亚洲黄色网址大全| 欧美岛国在线观看| 成人网ww555视频免费看| 777久久精品一区二区三区无码| 久久综合狠狠综合久久激情| 曰批又黄又爽免费视频| 久久久视频在线| 色综合久久网| 日韩免费高清一区二区| 欧美另类一区二区三区| 日本在线啊啊| 国产精品88久久久久久妇女 | 日韩风俗一区 二区| 四虎国产精品免费久久| 久久视频这里有精品| 亚洲色图一区二区三区|