在過(guò)去幾年中,TypeScript 的熱門(mén)程度、社區(qū)規(guī)模和使用率都在不斷提升。如今,甚至 Facebook 正將 Jest 項(xiàng)目轉(zhuǎn)移至 TypeScript。接下來(lái)就由石家莊網(wǎng)站開(kāi)發(fā)工程師簡(jiǎn)單的講解一下TypeScript.js。

Interface (接口)
接口好似你和編譯器定義契約,由你指定一個(gè)類(lèi)型,預(yù)期它的屬性應(yīng)該是些什么類(lèi)型。
注:接口不受 JavaScript 運(yùn)行時(shí)的特性影響,它只在類(lèi)型檢查中會(huì)用到。
- 可以聲明可選屬性(帶有 ? 標(biāo)記),意味著接口的對(duì)象可能會(huì)、也可能不會(huì)定義這些屬性。
- 可以聲明只讀屬性,意味著一旦為屬性賦值,就無(wú)法更改。

擴(kuò)展接口
接口可以擴(kuò)展成另一個(gè)接口,或者更多接口。這使得接口的編寫(xiě)更具有靈活性和復(fù)用性。

實(shí)現(xiàn)接口
實(shí)現(xiàn)接口的類(lèi)需要嚴(yán)格遵循接口的結(jié)構(gòu)。

枚舉
enum (枚舉) 用來(lái)組織一組的相關(guān)值,這些值可以是數(shù)值,也可以是字符串值。

默認(rèn)情況下,枚舉的本質(zhì)是數(shù)字。enum 的取值從 0 開(kāi)始,以 1 遞增。
上一個(gè)例子所生成的 JavaScript 代碼如下:

或者,枚舉可以用字符串值來(lái)初始化,這種方法更易讀。

反向映射
enum 支持反向映射,也就是說(shuō),可以通過(guò)值來(lái)獲得成員、成員名。
回顧之前 CardSuit 的例子:

以上關(guān)于TypeScript 中類(lèi)型的介紹屬石家莊網(wǎng)站開(kāi)發(fā)工程師的個(gè)人觀點(diǎn),大家如果對(duì)此有著不同的見(jiàn)解,可以關(guān)注公眾號(hào)“尚武科技派”給我留言,大家可以交流一下自己的心得體會(huì),共同學(xué)習(xí)進(jìn)步。