亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

為什么不使用TypeScript

發布時間:2021-09-06 15:07:38 來源:億速云 閱讀:137 作者:小新 欄目:web開發

這篇文章主要為大家展示了“為什么不使用TypeScript”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“為什么不使用TypeScript”這篇文章吧。

有風險

哇。如果TypeScript添加類型定義并在編譯時檢查它們,那會有什么風險?IDE集成還會警告您任何類型不匹配的信息嗎?正因為如此。TypeScript僅在編譯時檢查類型,并且僅檢查可用的類型。任何網絡調用,系統庫,特定于平臺的API和無類型的第三方庫都無法與TypeScript通信。當您習慣檢查類型并不必完全了解代碼和平臺時,錯誤和錯誤就會顯現出來。

使用JS,您無需對類型做任何假設,并且可以檢查變量的具體值以確保其符合您的期望。或者,如果您在這種情況下不關心其類型,則不必。在TS中,您依靠編譯器為您完成此任務,但是它只能進行很多檢查。您可以將這兩種方式結合起來,那又有什么意義呢?如果您要花時間編寫定義,然后花時間編寫代碼以確保在運行時維護這些定義,那么為什么首先要使用它們?

太亂了

另一個悖論:本應為代碼庫帶來清晰度和可讀性的語言反而使它模糊。為了說明我的意思,請查看一些我在流行的開源庫中找到的示例:

// TODO: do this more elegantly ;((currentReducer as unknown) as Reducer<   NewState,   NewActions >) = nextReducer

這是來自Redux庫的,所有這4行代碼都將nextReducer分配給currentReducer。

// HACK: Since TypeScript inherits static properties too, we have to // fight against TypeScript here so Subject can have a different static create signature /**  * Creates a new cold Observable by calling the Observable constructor  * @static true  * @owner Observable  * @method create  * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor  * @return {Observable} a new cold observable  * @nocollapse  * @deprecated use new Observable() instead  */ static create: Function = <T>(subscribe?: (subscriber: Subscriber<T>) => TeardownLogic) => {   return new Observable<T>(subscribe); }

下一個示例來自RxJS庫。我不了解您,但是如果我必須使用一種可以幫助我的工具,那么我認為這不是一個好工具。

它不能解決問題

據說TypeScript可以解決JavaScript的問題。但事實并非如此。動態類型化從來都不是JavaScript中的問題,但是許多其他陷阱,例如NaN  ===  NaN為false,分號為可選或非可選,換行符將對象定義更改為作用域,使用語法糖代替OOP確實是問題。TypeScript并沒有解決這些問題,而是引入了另一個標準,進一步分化了JS社區。

即使假設JS中缺少鍵入是一個問題,TS也無法解決。你知道嗎Java,C,C#和其他編譯語言。他們可以安全地在編譯時和運行時保證強類型。口譯語言無法做到這一點。

它不是超集,而是子集

TypeScript是可以編譯為JavaScript的東西,根據定義它不能是超集。它限制了您可以使用JavaScript進行的操作,并掩蓋了它的強項,同時提供了假的安全。如果您真的想成為一名優秀的開發人員,請不要為安慰自己而撒謊,而是嘗試了解JavaScript的真正功能及其靈活性。

它是開源的,僅此而已

使用TypeScript的許多原因都表明它是開源的。沒錯,TS編譯器是在MIT許可下分發的。但是它仍然由微軟(一家壟斷性公司)控制,它的開源進步不過是行銷之舉。不要將開源與民主相混淆:Microsoft仍然可以自由地使用TS做任何您想做的事情,而且您就在這里觀看。另一方面,JS受國際委員會的管理,未經社區批準不會更改任何內容。

但是大公司使用它

我不敢相信有人認為這是一個原因。大公司還使用舊版代碼庫,進行稅務欺詐并歧視婦女。為什么突然之間使用TypeScript就是一個很好的例子?

但是它具有更多功能

不再。的確,當TS在2012年首次推出時,它具有諸如類之類的功能,但在JS中仍然不可用。但是從那時起,JS已經走了很長一段路,現在TS努力跟上。如果JS中缺少任何內容,則可以使用babel插件來完成。

以上是“為什么不使用TypeScript”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴塘县| 唐河县| 天祝| 德令哈市| 类乌齐县| 鄂州市| 泽州县| 安化县| 甘泉县| 铁岭县| 施秉县| 镶黄旗| 鄱阳县| 深圳市| 越西县| 延川县| 丰原市| 鞍山市| 阳泉市| 玉屏| 阿克陶县| 中西区| 措美县| 监利县| 集安市| 东丽区| 晋城| 文水县| 富阳市| 江陵县| 四子王旗| 都安| 建平县| 财经| 潜江市| 满城县| 吐鲁番市| 荆州市| 白银市| 龙州县| 筠连县|