看看 TypeScript4.3 帶來了哪些新特性

自從跳槽之後,工做上接觸 TS 也是愈來愈多,因此對 TS 關注也是有所增長。社會上有種效應叫作「視網膜效應」,說的是越關注什麼就越出現什麼,當你開始對某些方面增長關注時,相同的事物就會在你眼前不斷出現。TS 對於近期的我而言,即是如此。html


好了廢話很少說,近期也是關注到 TypeScript4.3 發佈了,簡單給你們介紹下該版本。typescript

固然,若是你還不清楚什麼是 TypeScript,小編這裏也不會科普。(由於我猜你打不到我 emmm...)感興趣的小夥伴能夠去官網 get 一下啦。npm

最新版的 TS4.3,須要使用或者更新的夥伴,直接經過 npm 或者 yarn 下載/更新便可。api

接下來讓我帶着愉悅的心情,一塊兒 see see Typescript4.3 給咱們帶來了啥新特性?你好奇嗎?(小編寫完了,因此很差奇了,小聲 BB)瀏覽器

新特性預覽

  • 支持將屬性單獨讀寫指定類型
  • 增長了關鍵字 overrride,以保證基礎類中的方法不會被覆蓋
  • 模版字符串類型的改進
  • 擴展了類中可被賦予#private #name 的元素,使它們在運行時可以真正私有化。除了屬性之外,方法和訪問器也能夠被賦予私有名稱。
  • ConstructorParameters 類型幫助如今能夠在抽象類中使用。
  • 泛型的上下文範圍獲得縮小。
  • Always-Truthy 檢查
  • static 靜態索引簽名
  • .tsbuildinfo 文件大小優化減小,加快構建速度
  • --incremental 和 --watch 中計算優化,提升編譯速度
  • 導入、導出語句優化
  • 編輯器支持@link 標籤
  • 非 js 文件文件路徑跳轉,獲取快速信息
  • lib.d.ts 變動

下面簡單聊聊其中幾個變化。編輯器

增長了關鍵字 overrride

在擴展類時,咱們很容易覆蓋原有基礎類的方法。
好比:ide

class Animals {
  eat () {
    // ...
  }
  sleep () {
    // ...
  }
}

class Pig extends Animals {
  eat () {
    // ...
  }
  sleep () {
    // ...
  }
}

繼承以後若是是這樣的處理方案,沒法知悉使用者是添加對應的新的方法亦或是覆蓋現有基礎類上的方法。這即是 Ts4.3 添加 override 關鍵字的緣由。函數

class Pig extends Animals {
  override eat () {
    // ...
  }
  override sleep () {
    // ...
  }
}

當一個方法標記爲 override 時,Ts 老是會確保基類中存在同名方法。優化

同時,Ts4.3 提供一個新的選項 --noImplicitOverride,開啓此選項後,重寫超類的任何方法將會拋錯,除非顯式使用關鍵字 override。ui

.tsbuildinfo 文件大小優化

Ts4.3 中,.tsbuildinfo 文件的優化,歸功於內部格式的優化,即建立使用了數字標示符的表,而再也不是完整路徑等來作處理。

該文件的優化減小體積,毋庸置疑也意味着構建速度的大大提升。

導入導出優化

在現有使用的版本里,咱們知道導入的時候若是不寫 from 路徑的話很難爲咱們自動匹配可能須要導入的文件列表。

而在 Ts4.3 中,這一塊作的更加智能了,哪怕你只是 coding 下 import 關鍵字,也會自動爲你匹配可能須要導入的文件列表以及補全對應的文件路徑。大大提高了開發者平常開發導入模塊的痛點,能夠在最新的 vs code 中去嘗試了!爲 Ts 團隊點贊 👍。

支持 link 標籤快速獲取信息

Ts4.3 之後,將徹底能夠理解@link 標籤,並嘗試解析它們所連接到的生命,這將意味着咱們能夠直接經過懸停@link 標籤來得到快速信息。在支持的編輯器裏,也能夠一鍵跳轉到對應的函數聲明中。將會是十分便捷的一項新功能。

lib.d.ts 改變

兼容來刪除沒有瀏覽器實現的 api,雖然咱們日常可能不必定用到。

  • Account
  • AssertionOptions
  • RTCStatsEventInit
  • MSGestureEvent
  • DeviceLightEvent
  • MSPointerEvent
  • ServiceWorkerMessageEvent
  • WebAuthentication
    以上的均在接下來的版本里從 lib.d.ts 中刪除。

本文只是作一個簡短的介紹,相關更加詳盡的介紹還得靠各位德智體美勞優異的小朋友們。傳送門


據本臺可靠消息,雖然 TypeScript4.3 剛發佈,可是相關團隊已經在開展 TpyeScript4.4 的工做了。就問問你還學的動麼?

相關文章
相關標籤/搜索