2024-03-23 分類(lèi): 網(wǎng)站建設(shè)
在過(guò)去幾年中,TypeScript 的熱門(mén)程度、社區(qū)規(guī)模和使用率都在不斷提升。如今,甚至 Facebook 正將 Jest 項(xiàng)目轉(zhuǎn)移至 TypeScript。接下來(lái)就由成都網(wǎng)站建設(shè)工程師簡(jiǎn)單的講解一下TypeScript.js。
類(lèi)型保護(hù)
類(lèi)型保護(hù)可以在條件塊中縮小對(duì)象類(lèi)型的范圍。
typeof
在條件里使用 typeof,編譯器會(huì)知道變量的類(lèi)型會(huì)不一致。在下面的示例中,TypeScript 會(huì)知道:在條件塊之外,x 可能是布爾值,而布爾值上無(wú)法調(diào)用函數(shù) toFixed。
instanceof
in
in 運(yùn)算符會(huì)檢查一個(gè)屬性在某對(duì)象上是否存在。
Literal Types (字面量類(lèi)型)
字面量正是 JavaScript 原始數(shù)據(jù)類(lèi)型具體的值,它們可以與 union (聯(lián)合) 類(lèi)型搭配使用,構(gòu)造一些實(shí)用的概念。
條件類(lèi)型
條件類(lèi)型表示類(lèi)型關(guān)系的測(cè)試,并根據(jù)測(cè)試的結(jié)果選擇兩種可能類(lèi)型中的一種。
如果 A 類(lèi)型可以賦值給 b 類(lèi)型,那么 X 是 C 類(lèi)型;否則 X 是 D 類(lèi)型。
泛型
泛型是必須包含或引用其他類(lèi)型才能完成的類(lèi)型。它加強(qiáng)了變量之間有意義的約束。
下面例子中的函數(shù)會(huì)返回所傳入的任何類(lèi)型的數(shù)組。
keyof
keyof 運(yùn)算符會(huì)查詢給定類(lèi)型的鍵集。
映射類(lèi)型
映射類(lèi)型,通過(guò)在屬性類(lèi)型上建立映射,從現(xiàn)有的類(lèi)型創(chuàng)建新類(lèi)型。具有已知類(lèi)型的每個(gè)屬性都會(huì)根據(jù)你指定的規(guī)則進(jìn)行轉(zhuǎn)換。
Partial
- 泛型 Partial 類(lèi)型被定義時(shí)只有一個(gè)類(lèi)型參數(shù) T。
- keyof T 表示所有 T 類(lèi)型屬性的名字(字符串字面類(lèi)型)的聯(lián)合。
- [P in keyof T]?: T[P] 表示所有 T 類(lèi)型的屬性 P 的類(lèi)型都應(yīng)該是可選的,并且都會(huì)被轉(zhuǎn)換為 T[P]。
- T[P] 表示 T 類(lèi)型的屬性 P 的類(lèi)型。
以上關(guān)于TypeScript 中類(lèi)型的介紹屬成都網(wǎng)站建設(shè)工程師的個(gè)人觀點(diǎn),大家如果對(duì)此有著不同的見(jiàn)解,可以關(guān)注公眾號(hào)“創(chuàng)新互聯(lián)派”給我留言,大家可以交流一下自己的心得體會(huì),共同學(xué)習(xí)進(jìn)步。
網(wǎng)站名稱(chēng):初識(shí)TypeScript(六)
標(biāo)題URL:http://redsoil1982.com.cn/news44/321344.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、定制網(wǎng)站、網(wǎng)站營(yíng)銷(xiāo)、網(wǎng)站改版、App設(shè)計(jì)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容