原文:聊聊 TypeScript 中的類型保護

聊聊 TypeScript 中的類型保護 在 TypeScript 中使用聯合類型時,往往會碰到這種尷尬的情況: 如上所示,getSmallPet 函數中,既可以返回 Fish 類型的對象,又可以返回 Bird 類型的對象。由於返回的對象類型不確定,所以使用聯合類型對象共有的方法時,一切正常,但是使用聯合類型對象各自獨有的方法時,ts 會報錯。 那么如何解決這個問題呢 最粗暴的方法當然是將聯合類型 ...

2020-05-14 17:01 0 1729 推薦指數:

查看詳情

typescript類型保護

當遇到需要告訴編譯器某個值是指定類型的場景時,我們可以使用類型斷言,比如這個例子: 這種情況在編譯階段報錯,可以使用類型斷言解決: 使用類型斷言雖然可以解決這種需要指定類型的情況,但是顯得有些繁瑣,我們嘗試類型保護的方式來優化。 自定義類型保護 類型保護 ...

Wed May 20 17:49:00 CST 2020 0 665
Typescript 實戰 --- (7)類型兼容性 和類型保護

一、類型兼容性 ts 允許類型兼容的變量相互賦值,這個特性增加了語言的靈活性 當一個 類型Y 可以被賦值給另一個 類型X 時,就可以說類型X兼容類型Y。其中,X被稱為“目標類型”,Y被稱為“源類型 ...

Sun Jan 19 18:48:00 CST 2020 0 1865
typescript類型推論

使用 typescript 時,在一些定義如果你沒有明確識指定類型,編譯器會自動推斷出合適的類型,比如: 可以看到,定義變量 str 時並沒有指定它的類型,而是直接賦值一個字符串,當再給它賦一個數值時就會報錯。這里 typescript 就根據我們賦給 str 的值的類型,推斷出 ...

Sat May 30 22:12:00 CST 2020 0 963
TypeScript的枚舉類型

TypeScript拓展了Javascript原生的標准數據類型集,增加了枚舉類型(enmu)和其他語言一 樣 它提供我們一種數字類型的值,用來設置由於辨別的名字和方法 enum Students { zwq, zzz, zrt} ; let ...

Thu Nov 10 23:08:00 CST 2016 0 7593
typescript 的 this 類型

typescript,this 也是一種類型,一個計算器的例子: 這里 this 指的是實例對象,每個方法都返回 this 類型時,我們就可以通過鏈式調用的形式來使用這些方法。 上面的類使用了 this 類型,你可以繼承它,新的類可以直接使用之前的方法,不需要做任何的改變 ...

Fri May 29 05:59:00 CST 2020 0 3791
TypeScript枚舉enum類型

枚舉是一種類型,因此,可以其作為變量的類型注解。 enum 枚舉名稱 {成員1, 成員2, ...} enum Gender{Famale,Male} Gender.Famale的值默認從0開始自增, 0,1,2,3 注意:枚舉成員是只讀的,也就是說枚舉的成員是可以訪問 ...

Thu May 13 01:24:00 CST 2021 0 315
typescript類型斷言理解

typescript很強大,但是用不好時也會很頭痛,開發遇到類型錯誤的情況不在少數,或許你需要了解類型斷言。使用斷言,簡單來說就是先做好一個假設,使得編譯通過。 我一開始接觸類型斷言時是有點不明白的,后來我了解到原因是 “類型斷言更像是類型的選擇,而不是類型轉換”。我發現不少博客文章里把類型斷言 ...

Fri Oct 18 19:15:00 CST 2019 0 1534
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM