TypeScript 3.8 現已發布。 該版本引入了幾個新功能,包括新的或即將發布的 ECMAScript 標準功能和僅用於導入/導出類型的新語法等等。
ECMAScript 私有欄位
ECMAScript 的新功能之一是私有欄位。 而與常規屬性(甚至是使用private修飾符聲明的屬性)不同的是,私有欄位要牢記一些規則,其中包括有:
專用欄位以#字符開頭。 每個專用欄位名稱都唯一地限定於其包含的類。 TypeScript 輔助功能修飾符,例如public,private不能在私有欄位上使用。 私有欄位甚至在 JS 用戶中都無法在包含的類之外訪問或檢測到。除了隱私之外,私有欄位的好處是它們的唯一性,每個欄位名稱對於包含類都是唯一的。
其他新功能則包括有 export * as ns語法,top-level await,JSDoc 屬性修飾符,在 Linux 上更好的目錄監視,「Fast and Loose」的增量檢查等等。
編輯器功能
TypeScript 3.8 推出了新的重構功能,可將字符串串聯轉換為模板字符串。例如:
可將
"I have " + numApples + " apples"
轉換成
`I have ${numApples} apples`
同時,該版本還引入了調用層次結構,使開發人員可以可視化調用函數的方式。
另一方面, TypeScript 3.8 還包含了一些值得注意的重大更改,包括有:
對具有索引籤名的聯合進行更嚴格的可分配性檢查 沒有推論的可選參數被正確地標記為隱式 any JSDoc 中的對象在「noImplicityAny」下將不再被標記為「any」。微軟方面表示,預計 TypeScript 3.9 將在 2020 年 5 月中旬發布。該版本將主要專注於性能,改進和可能更智能的Promises 類型檢查。在未來的幾天中,該團隊將發布計劃文件以具體說明。
更多詳細信息可查看發布說明。