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

原生JS也要支持類型注解啦?

開發 前端
在布達佩斯2022 JSConf會議上,tc39(ES標準委員會)成員「Gil Tayar」介紹了一份當前仍處于stage 1階段的提案 —— Type Annotations,意在讓原生JS支持類型注解。

大家好,我卡頌。

在布達佩斯2022 JSConf[1]會議上,tc39[2](ES標準委員會)成員「Gil Tayar」介紹了一份當前仍處于stage 1?階段的提案 —— Type Annotations?,意在讓原生JS支持類型注解。

圖片

Gil Tayar

換句話說,如果提案通過,很多.ts?文件將后綴改為.js后就能直接在瀏覽器中運行。

一份tc39提案通常會經歷5個階段:

  • stage 0:被提出。
  • stage 1:接受審議。
  • stage 2:規范基本完成。
  • stage 3:等待被實現。
  • stage 4:納入語言標準中。

所以Type Annotations當前仍處于「接受審議」的狀態。

但是提案發起者「Gil Tayar」對這份提案的通過很有信心,本文我們來聊聊這份提案的相關內容。

為什么需要原生類型注解?

根據20年、21年state of JS[3]的統計,「靜態類型」高票當選「JS中當前最欠缺的功能」。

圖片

同時,在Github報告[4]中,TS被列為「第四大最常用的語言」

所以,對前端工程師來說,「類型注解」需求很大。

那么,既然已經有了TS?,為什么還需要原生JS支持「類型注解」呢?

通常來說,從「開發者編寫的源代碼」到「線上生產環境代碼」間需要經過「代碼編譯」。

「代碼編譯」主要包括兩個步驟:

  1. 降級編譯(包括高級語法轉換為低級語法,高級方法的polyfill)。
  2. 代碼轉譯(比如壓縮、混淆、tree-shaking、類型擦除)。

所謂「類型擦除」,是指擦除代碼中的「類型注解」,讓其變成符合原生JS規范的代碼,比如:

// 擦除前
function add(a: number, b: number): number {
return a + b;
}
// 擦除后
function add(a, b) {
return a + b;
}

隨著時間的推移,各主流瀏覽器兼容性越來越好,「步驟1」在可預見的未來重要性會逐漸降低。

對于TS開發者,從「源代碼」到「線上生產環境代碼」間可能只需要「類型擦除」。

如果原生JS支持「類型注解」,就能省去「類型擦除」對應的編譯流程,讓代碼更容易在宿主環境執行。

和TS的關系

這份提案的目的,并不是另起爐灶,獨立實現一套原生??JS??的類型注解。而是與「TS團隊」合作,提出一套合適的規范。

新的規范與「TS規范」的關系類似下圖:

圖片

一方面,Type Annotations?提案從TS中借鑒了很多特性,這就是圖中相交的部分。

你可以到grammar-conventions[5]看到規范當前定義的類型

另一方面,TS?迭代速度很快,新的特性產出很快。而Type Annotations?作為JS?語言的一部分,迭代會更加保守,所以TS?中一些特性在Type Annotations中并不支持。

此外,TS?中一些結構(比如Enums?、Namespaces?)存在運行時的語義,Type Annotations也不會支持。

這些就是TS?中存在,而Type Annotations中不存在的部分。

最后,Type Annotations?設計的初衷并不是與TS?強綁定,而僅僅是提供一套類型規范,開發者編寫代碼時的「類型檢查」還是由各種類型檢查器(比如TS?、Flow)實現。

所以,Type Annotations?還有一部分特性是TS?當前未定義的,這也是為了規范更廣泛的適用性考慮的,也就是圖中Type Annotations?存在,而TS不存在的部分。

這部分特性需要TS?后續實現,這也是為什么Type Annotations?要與TS團隊合作的一大原因。

對開發者意味著什么

如果Type Annotations最終出現在ES20xx版中,屆時開發者編寫代碼的步驟是:

  1. 選擇合適的類型檢查器(比如TS),這個類型檢查器需要完全遵循Type Annotations規范(而不是自己的規范,比如TS規范)。
  2. 編寫帶類型聲明的原生JS代碼。
  3. 類型檢查器會檢查類型錯誤,并給予報錯或提示。

對于如下原生JS代碼,如果開發者傳入了錯誤的類型,JS會報錯么?

function add(a: number, b: number): number {
return a + b;
}
// 錯誤的類型傳參
add('KaSong', 123);

答案是:不會。

Type Annotations僅僅是一套規范,該規范由各種類型檢查器執行。

JS的宿主環境(比如瀏覽器)在執行「帶類型聲明的JS代碼」時,會忽略類型聲明。

總結

有同學可能會問:就為了減少編譯時「類型擦除」這一步,就提出原生類型規范,有必要么?

甚至當Type Annotations落地后,開發者上線前在進行代碼壓縮時,「類型擦除」也會作為「代碼壓縮」的職責之一。

從這個角度看,甚至沒有減少編譯時的工作量。

所以提出原生的類型規范,有必要么?

前端的發展實際是一個「努力去編譯時流程」的過程。

比如,編譯時代碼需要降級,需要polyfill??隨著IE11?停止服務,主流瀏覽器紛紛跟進標準落地,降級與polyfill的需求逐漸變少。

再比如,代碼需要打包?隨著ESM?規范落地,在當前,至少在開發環境中代碼已經不需要打包(使用Vite)。

Type Annotations的出現,就是遵循「努力去編譯時流程」這一趨勢的產物。

從這個角度看,還是很有必要的。

參考資料

[1]布達佩斯2022 JSConf:https://www.youtube.com/watch?v=SdV9Xy0E4CM&list=PL37ZVnwpeshGuMZrOZzEo8QLBjjpbtBGm&index=2。

[2]tc39:https://github.com/tc39。

[3]state of JS:https://stateofjs.com/en-us/。

[4]Github報告:https://octoverse.github.com/。

[5]grammar-conventions:https://tc39.es/proposal-type-annotations/grammar.html#grammar-conventions。

責任編輯:姜華 來源: 魔術師卡頌
相關推薦

2023-08-29 09:43:21

Node.js.env

2020-12-10 08:21:27

XML映射Mybatis

2021-02-05 08:18:29

JavaScript開發代碼

2021-01-13 15:19:27

Python中文變量

2020-11-09 14:41:58

iOS 14.2蘋果JIT

2015-04-15 13:33:23

2009-06-03 08:50:03

微軟Windows 7操作系統

2022-04-06 08:19:13

Go語言切片

2010-08-23 09:23:49

Windows Pho

2022-04-21 07:52:08

JS線程GUI渲染

2013-12-24 09:38:50

asm.jsJavascript

2021-11-09 11:56:25

模式數組排序

2017-08-08 11:18:26

AndroidIntent原生

2009-02-27 09:41:15

Windows 7微軟mov文件

2023-09-21 10:09:10

JavaScript數組分組

2024-01-08 09:28:20

2025-09-24 08:57:13

AI開源模型

2025-07-29 00:00:00

2012-05-02 13:53:00

JavaScript

2024-01-03 13:39:00

JS,Javascrip算法
點贊
收藏

51CTO技術棧公眾號

欧美欧美一区二区| 中文字幕国产精品| ijzzijzzij亚洲大全| 在线免费观看高清视频| 日韩成人精品一区二区| 欧美性大战久久| 日韩理论片在线观看| 中文字幕 国产精品| 99精品电影| 日韩视频免费观看高清完整版在线观看 | 午夜精品福利一区二区三区蜜桃| 国产精品区二区三区日本| 国产第100页| 亚洲系列另类av| 日韩欧美在线视频| 日本在线高清视频一区| 一级片免费网址| 国内成人精品| 欧美日韩不卡一区二区| 国产欧美精品aaaaaa片| 亚洲色图狠狠干| 在线亚洲一区| 色av中文字幕一区| 久久发布国产伦子伦精品| 欧美性猛交乱大交| 免费看日韩av| 视频一区二区中文字幕| 一本久久综合亚洲鲁鲁| 亚洲美女高潮久久久| 亚洲欧洲高清| 亚洲乱码精品一二三四区日韩在线| 精品在线观看一区二区| 91禁在线观看| 亚洲国内精品| 久久精品国产精品亚洲| 国产在线观看无码免费视频| 日本成人在线网站| 午夜精品福利一区二区三区蜜桃| 亚洲一区二区三区精品动漫| 国产福利资源在线| 青椒成人免费视频| 4p变态网欧美系列| 五月天av网站| 精品无人区麻豆乱码久久久| 精品国产凹凸成av人导航| 欧美黄网站在线观看| 中文字幕在线观看播放| 久久精品欧美日韩精品| 国产一区二区高清视频| 国产精品视频一二区| 丝袜美腿亚洲一区| 97视频在线观看播放| 免费在线观看黄视频| 成人一区不卡| 亚洲欧美日韩中文在线| 91人妻一区二区三区| 精品久久在线| 91福利社在线观看| 成人午夜视频免费在线观看| 黄色大片在线| 亚洲欧美日韩在线播放| 亚洲欧洲一区二区福利| 国产一级二级三级在线观看| 99久久精品99国产精品| 春色成人在线视频| www.综合色| 国产精品香蕉一区二区三区| 成人午夜黄色影院| 一级黄色大片网站| 免费成人你懂的| 国产精品精品视频| 中文字幕在线观看欧美| 老司机免费视频一区二区三区| 国产精品成人在线| 中文字幕一区二区三区四区免费看 | 久久综合色8888| 精品免费视频123区| 少妇一级淫片免费看| 国产盗摄女厕一区二区三区| 91香蕉嫩草影院入口| 国产精品无码久久av| 国产精品一区在线| 99国产视频在线| 国产av一区二区三区精品| 国产精品99久| 成人动漫视频在线观看完整版 | 日韩美女毛茸茸| 伊人中文字幕在线观看| 久久欧美肥婆一二区| 国产91色在线播放| 中文字幕在线播放av| 久草在线在线精品观看| 国产精品免费视频xxxx| 一区二区精品视频在线观看| 黑人精品欧美一区二区蜜桃| 92国产精品视频| 午夜精品久久久久久久爽| 成人不卡免费av| 好吊色欧美一区二区三区| 午夜视频福利在线观看| 国产网站一区二区| 亚洲国产精品视频一区| 国产欧美久久久久久久久| 亚洲一卡二卡三卡四卡无卡久久 | 色婷婷久久av| 麻豆视频在线免费看| 在线日韩av| 国产精品狼人色视频一区| 亚洲国产视频一区二区三区| 日本一二三四高清不卡| 男女猛烈激情xx00免费视频| 欧美爱爱视频| 日韩精品中文在线观看| 精品国产乱码久久久久久鸭王1| 亚洲一级在线| 99re视频在线观看| 番号集在线观看| 亚洲成人你懂的| 中文字幕线观看| 曰本一区二区三区视频| 欧美黑人一级爽快片淫片高清| 色老头一区二区| 成人国产精品免费观看动漫| 亚洲午夜精品福利| 涩涩视频在线| 精品久久久久久亚洲综合网 | 亚洲xxxx2d动漫1| 精品av导航| 九九热精品视频在线播放| 中文字幕人妻一区二区三区视频| 成人av影院在线| 好色先生视频污| 久久人人视频| 亚洲一区999| 在线观看国产亚洲| 成人在线综合网| 精品国产一区二区三区在线| 国产激情欧美| 国产亚洲欧美日韩美女| 色屁屁影院www国产高清麻豆| jlzzjlzz亚洲日本少妇| 青青青青在线视频| h视频久久久| 欧美区在线播放| 国产视频一区二区三| 中文字幕一区三区| 超碰超碰在线观看| 日韩精品二区| 成人一区二区电影| 3d成人动漫在线| 欧美日韩性生活| 呻吟揉丰满对白91乃国产区| 日本大胆欧美人术艺术动态| 欧美日韩电影一区二区| 成人免费网站视频| 亚洲欧美日韩精品久久亚洲区 | 91久久精品www人人做人人爽| 蜜桃视频网站在线观看| 欧美日韩大陆在线| 三级全黄做爰视频| 国产高清不卡一区二区| 在线观看av的网址| 亚洲性视频在线| 欧美激情一级欧美精品| 手机av在线免费观看| 欧美午夜电影在线| 国产高潮呻吟久久| 美女在线视频一区| 警花观音坐莲激情销魂小说| 久久久国产精品入口麻豆| 欧美国产日韩视频| 偷拍自拍在线| 在线精品视频小说1| 久久久久99精品成人| 欧美freesex| 亚洲三级在线免费| 免费黄色在线播放| 影音先锋一区| 欧美国产一区二区在线| 午夜激情成人网| 久久人人爽亚洲精品天堂| 亚洲精品国产精| 疯狂蹂躏欧美一区二区精品| 亚洲v国产v欧美v久久久久久| 久久99国产精品尤物| 国产精品视频一二三四区| 麻豆精品少妇| 国产精品午夜一区二区欲梦| 成人影院在线看| 亚洲黄色免费三级| 波多野结衣绝顶大高潮| 亚洲靠逼com| 毛片网站免费观看| 久久丁香综合五月国产三级网站| 黄色一级片av| 视频一区中文| 成人在线中文字幕| 在线观看网站免费入口在线观看国内 | 国语对白做受69按摩| 亚洲免费三区一区二区| 性色av蜜臀av色欲av| 捆绑调教美女网站视频一区| 成人免费a级片| 伊甸园亚洲一区| 亚洲最大的网站| 性高爱久久久久久久久| 欧美wwwxxxx| 搞黄视频免费在线观看| 精品国产乱码久久久久久免费| 91青青草视频| 亚洲制服丝袜av| eeuss中文字幕| 91在线视频网址| 可以看的av网址| 日韩福利电影在线| 一区二区三区av在线| 亚洲人亚洲人色久| 91在线观看免费网站| 亚洲不卡系列| 7777免费精品视频| 91国内在线| 中文亚洲视频在线| 天堂av电影在线观看| 日韩一区二区三区四区五区六区| www.久久视频| 午夜精品福利久久久| 精品国产欧美日韩不卡在线观看| 久久久三级国产网站| 亚洲av无码一区二区三区观看| 国产成人综合网| 欧美日韩精品区别| 日本系列欧美系列| aaa毛片在线观看| 国产精品女主播一区二区三区| 久久综合亚洲精品| 久久久五月天| 亚洲一区不卡在线| av中字幕久久| 日韩精品久久久毛片一区二区| 一区二区三区在线资源| 亚洲一区美女视频在线观看免费| 91九色综合| 国产成人亚洲综合青青| 中文字幕影音在线| 欧美中文在线免费| 巨茎人妖videos另类| 91成人性视频| 伊人网在线播放| 欧美中文字幕第一页| 中文字幕在线视频久| 日本成熟性欧美| 美女一区网站| 日韩免费在线观看视频| 亚洲成人看片| 国产精品久久久久秋霞鲁丝 | 在线免费观看日本欧美| 高潮毛片又色又爽免费 | 一个人看的www日本高清视频| 欧洲一区在线电影| 中文字幕在线一| 欧美一区二区三区在线看| 国产精品久久免费| 欧美一区二区三区爱爱| 成人av无码一区二区三区| 日韩免费一区二区三区在线播放| 国产成人精品毛片| 精品国产一区二区三区四区四 | 国产一级做a爱片久久毛片a| 午夜激情一区二区三区| 性无码专区无码| 在线免费观看成人短视频| 中文av免费观看| 6080国产精品一区二区| 国产黄a三级三级看三级| 亚洲精品在线免费观看视频| 青春草在线观看| 日韩天堂在线视频| 青草影视电视剧免费播放在线观看| 欧美激情视频一区二区| 神马久久午夜| 国产精品亚洲精品| 日日夜夜精品视频| 国产一区二区黄色| 久久美女精品| 欧美 日韩 亚洲 一区| 葵司免费一区二区三区四区五区| 欧美激情第3页| 成人综合婷婷国产精品久久蜜臀 | 9久久婷婷国产综合精品性色 | h视频在线免费| 久久av中文字幕| 国产精品yjizz视频网| 国产精品久久久久久久久久新婚| 超碰国产精品一区二页| 国产一区二区黄色| 日韩av久操| 草草视频在线免费观看| 日本aⅴ免费视频一区二区三区| 免费成人黄色大片| 久久久99精品久久| 唐朝av高清盛宴| 色综合久久88色综合天天| 国产露脸国语对白在线| 亚洲老头同性xxxxx| 国产激情视频在线| 国产成人涩涩涩视频在线观看| 日韩欧美中文字幕一区二区三区| 欧美福利精品| 国产精品a久久久久| 中国黄色片免费看| 99久久免费国产| 日韩一级片大全| 日本精品一级二级| 日韩中文字幕免费观看| www.亚洲一区| 欧美va视频| 精选一区二区三区四区五区| 亚洲国产成人精品女人| 国产无套粉嫩白浆内谢的出处| 粉嫩高潮美女一区二区三区| 丁香六月激情综合| 一本色道亚洲精品aⅴ| 免费av网站观看| 美女福利精品视频| 欧美一区二区三区婷婷| 久久偷看各类wc女厕嘘嘘偷窃| 午夜激情一区| 精品综合久久久久| 欧美激情一区二区三区蜜桃视频| 伊人365影院| 欧美草草影院在线视频| 精品黄色免费中文电影在线播放| 国产精品国产福利国产秒拍| 色综合www| 真人抽搐一进一出视频| 国产精品一区免费视频| 日本视频在线免费| 欧美性视频一区二区三区| 精品美女视频在线观看免费软件| 91精品国产乱码久久久久久久久| 日韩精品免费视频一区二区三区 | 99视频在线观看地址| 国产精品2018| 国产一区二区三区不卡视频网站| 国产二区视频在线播放| 99这里都是精品| 亚洲欧美在线视频免费| 精品动漫一区二区三区在线观看| 欧美黄色视屏| 国产精品swag| 亚洲精品美女91| 日批在线观看视频| 欧美三级免费观看| 蜜桃视频在线免费| 国产精品 欧美在线| 日韩精品久久久久久久电影99爱| 国产又猛又黄的视频| 中文字幕乱码日本亚洲一区二区| 最近日韩免费视频| 久久精品成人欧美大片| 国产精品777777在线播放| 免费看污污视频| 成人午夜又粗又硬又大| 欧美激情亚洲综合| 亚洲天堂免费观看| 伦一区二区三区中文字幕v亚洲| 性欧美18一19内谢| 国产精品乡下勾搭老头1| 国产一卡二卡在线| 亚洲色图日韩av| 一区在线不卡| 日本成人在线不卡| 91美女精品福利| 最新国产中文字幕| 伦伦影院午夜日韩欧美限制| 综合成人在线| 国产亚洲综合视频| 中文字幕免费观看一区| 国产男女猛烈无遮挡| 国内精品视频久久| 精品产国自在拍| 国产精品igao网网址不卡| 亚洲妇熟xx妇色黄| 搞黄视频在线观看| 成人精品水蜜桃| 三级在线观看一区二区 | 精品福利一区二区| 91吃瓜网在线观看| 成人情视频高清免费观看电影| 亚洲日本国产| 长河落日免费高清观看| 精品电影一区二区三区| 久久久成人av毛片免费观看| 国产人妻互换一区二区| 久久综合九色综合欧美亚洲| 国产又黄又粗又硬| 欧洲亚洲妇女av| 亚洲午夜精品一区 二区 三区| 五月开心播播网| 91精品国产综合久久精品麻豆|