TypeScript-基础类型
入门级了解TypeScript
基础类型,根据网上查询的资料进行学习及记录以下学习笔记。
一、基础类型
1. 布尔(boolean)
1 | /* 布尔(boolean) */ |
2. 数字(number)
1 | /* 数字(number) */ |
3. 字符串(string)
1 | /* 字符串(string) */ |
4. 数组(元素类型[] || Array<元素类型>
1 | /* 数组(元素类型[] || Array<元素类型>) */ |
5. 元组([元素类型, 元素类型])
1 | /* 元组([元素类型, 元素类型]) */ |
6. 枚举(enum)
1 | /* 枚举(enum) */ |
7. 任意值(Any)
1 | /* 不确定类型(Any) */ |
8. 空值(Void)
当一个函数没有返回值时,你通常会见到其返回值类型是 void
1 | /* 无类型(Void) */ |
9. Null 和 Undefined
1 | /* Null 和 Undefined */ |
10. Never
never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)。 即使 any也不可以赋值给never。通常表现为抛出异常或无法执行到终止点(例如无线循环)
1 | /* Never */ |
11. Object
object
表示非原始类型,也就是除number
,string
,boolean
,symbol
,null
或undefined
之外的类型。
1 | /* object */ |
12. 类型断言
有时候你会遇到这样的情况,你会比TypeScript更了解某个值的详细信息。 通常这会发生在你清楚地知道一个实体具有比它现有类型更确切的类型。
1 | // 类型断言有两种形式。 其一是“尖括号”语法: |
两种形式是等价的。 至于使用哪个大多数情况下是凭个人喜好。
然而,当你在
TypeScript
里使用JSX
时,只有as
语法断言是被允许的!!!
13. 联合类型
联合类型(Union Types
)表示取值可以为多种类型中的一种。
1 | let myFavoriteNumber: string | number; |
14. 类型推论
如果没有明确的指定类型,那么 TypeScript 会依照类型推论(Type Inference
)的规则推断出一个类型。
1 | let myFavoriteNumber = 'seven'; |
如果定义的时候没有赋值,不管之后有没有赋值,都会被推断成 any 类型而完全不被类型检查:
1 | let myFavoriteNumber; |