1、Typescript原始數據類型:
string
number
boolean
null
undefined
enum
symbol
空值一般采用void表示,void可以表示變量,也可以表示函數返回值。
2、Typescript中的任意值:
任意值(any)用來表示允許賦值為任意類型。
申明一個變量為任意值后,對它的任何操作,返回的內容的類型都是任意值。
變量如果在申明的時候如果未指定其類型,那么它會被識別為任意值類型。
3、Typescript的類型推論:
Typescript會依照類型推論的規則推斷出一個類型。
如果定義的時候沒有賦值,不管之后有沒有被賦值,都會被推斷出any類型而完全不被類型檢查。
4、Typescript聯合類型:
聯合類型表示取值可以為多種類型中的一種。
只能訪問此聯合類型內的所有類型里共有的屬性和方法。
5、Typescript中對象類型-接口:
可描述類的一部分抽象行為,也可描述對象的結構形狀。
接口一般首字母大些,有的編程語言建議接口的名稱前加上“I”前綴。
賦值的時候變量的形狀必須跟接口的形狀保持一致。
接口中可定義可選屬性,只讀屬性,任意屬性。
6、Typescript數組類型:
1) 可采用"類型[]"法表示;
2) 可采用數組泛型“Array<類型>”表示法;
3) 可采用接口表示法。
7、Typescript函數類型:
函數約束:有函數本身的參數約束,返回值約束;
還有函數本身賦值的變量的約束;
可采用重載的方式才支持聯合類型的函數關系。
8、Typescript類型斷言:
類型斷言可以用來手動指定一個值的類型。
語法:<類型>值或者值 as 類型。
在tsx語法(React的jsx語法的ts版)必須采用后面一種。
類型斷言不是類型轉換,斷言成一個聯合類型中不存在的類型是不允許的。
9、Typescript類型別名:
類型別名可以用來給一個類型起一個新名字。
采用關鍵字,比如“type name = string | number”。
例子中name就表示可以設置字符串或者數值類型。
也可用type來約束取值只能是某些字符串中的一個,如:
type eventNames = "click" | "scroll" | "mousemove"
10、Typescript枚舉:
枚舉(enum)類型用於取值被限定在一定范圍內的場景。
采用關鍵字enum定義,比如:enum days{Sun, Mon, Tue, Wed, Thu, Fri, Sat}。
枚舉成員會被賦值為從0開始遞增的數字,同時也會被枚舉值到枚舉名進行反向映射。
11、Typescript類的裝飾符:
public、private和protected。
12、Typescript泛型:
泛型是指在定義函數、接口或類的時候,不預先指定具體類型,而是在使用的時候再指定類型的一種特性。