- 原文地址:TypeScript — JavaScript with superpowers — Part II
- 原文做者:Indrek Lasn
- 譯文出自:掘金翻譯計劃
- 本文永久連接:github.com/xitu/gold-m…
- 譯者:jonjia
- 校對者:Usey95 anxsec
歡迎回來,繼前文 [譯] TypeScript:擁有超能力的 JavaScript (上) 以後,本週帶來下篇。javascript
使用枚舉(enum)能夠更清晰地組合一組數據。html
下面咱們來看看如何構造一個枚舉類型:前端
你能夠經過下面的方法從枚舉中取值:java
但這樣返回的是這個值的整數索引,和數組同樣,枚舉類型的索引也是從 0
開始的。react
那咱們怎麼獲取到 "Indrek"
呢?android
注意看咱們怎麼獲取到字符串的值。ios
還有一個很好的例子是使用枚舉存儲應用的狀態。git
若是你想了解更多關於枚舉(enum)的知識,stackoverflow 上的這個回答 探討了更多關於枚舉的細節。程序員
假設咱們請求某個 API,獲取了一些數據。咱們老是指望成功獲取數據 — 但若是咱們沒法獲取到數據會怎樣呢?github
是時候返回 never
類型了,好比下面這種特殊使用場景:
咱們能夠在另外的方法中調用 error
方法(回調)
由於咱們推斷返回值的類型是 never
,因此咱們聲明返回值的類型爲 never
,而不是 void
。
它們自己的類型用處不是很大。
默認狀況下 null
和 undefined
是全部類型的子類型。就是說你能夠把 null
和 undefined
賦值給 number
類型的變量。
關於 null
和 undefined
,Axel Rauschmayer 博士寫過 一篇很是棒的文章。
類型斷言一般會發生在你清楚地知道一個實體具備比它現有類型更確切的類型。
它在運行時沒有影響,只會在編譯階段起做用。TypeScript 會假設你 — 程序員,已經進行了必要的檢查。
下面是一個簡單示例:
尖括號 <>
語法與 JSX 用法衝突,因此咱們只能使用 as
語法進行斷言。
如今 — 用 TypeScript 來構造些有趣的東西吧!📙
感謝閱讀,但願你有所收穫!
你能夠關注個人 Twitter。
掘金翻譯計劃 是一個翻譯優質互聯網技術文章的社區,文章來源爲 掘金 上的英文分享文章。內容覆蓋 Android、iOS、前端、後端、區塊鏈、產品、設計、人工智能等領域,想要查看更多優質譯文請持續關注 掘金翻譯計劃、官方微博、知乎專欄。