掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
本文轉(zhuǎn)載自微信公眾號「天天Up」,作者小弋 。轉(zhuǎn)載本文請聯(lián)系天天Up公眾號。

你好,我是小弋。
前不久TS發(fā)布4.4的beat版本:
發(fā)布說明
到底4.4的版本中有哪些features,我們可以參考下面的:
鏈接:https://github.com/microsoft/TypeScript/issues/44237
里面大致描述4.4版本發(fā)布的流程,預(yù)計8月底發(fā)布正式版本。
主要更新內(nèi)容:
比如,我們拿出一個例子來看。
經(jīng)常寫JavaScript都知道,任何類型的值都可以通過throw拋出后,在catch語句中捕獲到,那么TypeScript中是如何做統(tǒng)一的呢,
其實經(jīng)常寫TS的都知道,很早的版本中,ts會將變量轉(zhuǎn)化為any:
- try {
- // Who knows what this might throw...
- executeSomeThirdPartyCode();
- }
- catch (err) { // err: any
- console.error(err.message); // Allowed, because 'any'
- err.thisWillProbablyFail(); // Allowed, because 'any' :(
- }
但是,有時候我們知道unknown類型會是更加的選擇,所以我們可以在catch語句的時候使用unknown。
ts團隊為了考慮到效率,還是其他的原因,我們可以通過設(shè)置為默認值,也就是說,類似于--useUnknownInCatchVariables將默認類型切換成unknown。
比如下面代碼:
- // @useUnknownInCatchVariables: true
- try {
- // ...
- }
- catch (e) {
- e.toUpperCase(); // error
- }
或者,選擇一個更加廣泛的標志?
這些我們期待正式版本的到來,就能知道答案了。
那么你是不是想來試一試TS4.4測試版本的功能呢,我們可以借助這個TS中的Playground來體驗下:
playground
選擇對應(yīng)的版本即可。
至于其他的更新以及優(yōu)化,比如更快的構(gòu)建,會在構(gòu)建上做優(yōu)化,讓開發(fā)體驗更佳。比如lib.d.ts的修改等等
更多的信息,趕緊去看看吧:
https://github.com/microsoft/TypeScript/issues/44237

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流