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

Svelte:TypeScript 并“不值得”用來開發(fā)庫

開發(fā)
TypeScript 的使用率在不斷上升,Svelte 的開發(fā)者 Rich Harris 解釋了為什么反其道而行,從 TypeScript 切換到 JavaScript 和 JSDoc。

Svelte 的一個將 TypeScript 轉為 JSDoc 的拉取請求引起了一些困惑的評論。評論中有人說:“這個改變是出于什么原因呢?我在到處尋找這個問題或相關討論,但我沒有找到?!?隨后,這個問題在 GitHub 上因“討論過于激烈”而被鎖定回復。

在上個月的一次 Svelte Society 采訪中,Harris 提供了進一步的背景信息,他說:“我們決定要做的一件事就是在 Svelte 核心代碼庫中脫離 TypeScript,轉向使用 JavaScript。這里有一些細微的復雜性我未曾充分解釋。”

他持有的觀點是:“類型是非常好的,但是 TypeScript 確實有些困擾…… 當你開始使用 .ts 文件后,你就必須有相應的工具來支持…… 當你使用像 TypeScript 這樣的非標準語言時,你會遇到很多阻礙,我已經(jīng)開始認識到這并不值得。因此,我們將我們所有的類型都放入了 JSDoc 注解中,我們也能獲得所有的類型安全性,但沒有任何的缺點,因為它就是 JavaScript,所有的東西都在注解中,你可以直接運行代碼。這就是我們在 Sveltekit 代碼庫中所做的,它在 Svelte 4.0 中表現(xiàn)得非常好,所以我們決定對 Svelte 同樣采取這種方式,因為這將讓我們能夠更快速地前進?!?/p>

雖然 Svelte/SvelteKit 并非最受歡迎的 JavaScript 框架,但它卻是廣受好評的框架之一。

開發(fā)者傾向于使用 TypeScript,主要因為他們發(fā)現(xiàn)強類型降低了錯誤的發(fā)生率,并提升了編碼過程中的體驗,如代碼自動補全和即時幫助等功能。然而,令人驚訝的是,主要做為 API 文檔工具的 JSDoc,也可以進行類型檢查。這項功能已直接內置在 Visual Studio Code 中,如 這篇文檔 所述。開發(fā)者只需在 JavaScript 文件頂部加上:

// @ts-check

正如文檔中的解釋,“當無法推斷出類型時,可以利用 JSDoc 注解進行明確說明”。這個特性實際上是由 TypeScript 提供支持,這意味著在實際環(huán)境下,TypeScript 和 JSDoc 是相輔相成的。

不過,一個易被忽視的細節(jié)是,Harris 主要是在針對庫開發(fā)的上下文里關注 TypeScript。他認為切換到 JSDoc 在開發(fā)應用時,“可能收益不大”,他說道:“如果你在開發(fā)一個應用,無論怎樣你都不可避免地需要一個構建步驟。你需要優(yōu)化代碼,需要代碼壓縮,需要打包各種資源。而如果你在構建一個庫,我將極力推薦你使用 JSDoc?!?/p>

Harris 在 Hacker News 進一步 補充,“Svelte 的用戶無需擔心,這個變動不會影響到你與 Svelte 使用 TypeScript 的能力——從 Svelte 導出的函數(shù)仍然會有所有熟悉的 TypeScript 好處,如類型檢查,智能感知,內聯(lián)文檔等”。他堅定地表示:“我們對 TypeScript 的承諾比以往任何時候都更為堅決?!?/p>

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-10-17 21:48:27

硬件電腦裝機

2021-06-09 07:14:32

數(shù)據(jù)分析互聯(lián)網(wǎng)運營大數(shù)據(jù)

2012-05-21 13:13:08

火狐瀏覽器

2015-08-14 13:12:20

4G

2020-07-03 14:36:28

互聯(lián)網(wǎng)印度市場手機

2020-06-04 18:30:06

二手硬件CPU主板

2023-02-13 13:50:48

研究offer

2019-05-10 09:29:18

甲骨文開發(fā)裁員

2018-08-22 11:09:33

QLCSSD硬盤

2018-09-05 15:06:00

GTX 1080Ti顯卡NVIDIA

2021-05-08 23:26:32

大數(shù)據(jù)薪資工作

2023-03-27 13:52:02

海景房主機桌面

2017-09-22 12:00:24

Intel8代CPU酷睿處理器

2014-10-09 10:15:53

PayPal

2019-12-03 14:08:21

iOS 13蘋果升級

2022-09-07 00:10:11

iOS測試版系統(tǒng)

2022-09-15 07:35:28

iOS16iPhone

2020-09-17 09:22:50

iOS 14iPad OS 14蘋果

2018-07-23 08:52:56

Python 數(shù)據(jù)獲取數(shù)據(jù)處理
點贊
收藏

51CTO技術棧公眾號