wiki
TypeScript
是JavaScript
的超集,通过编译可以转换。
基本类型语法
类型 | 例子 | 描述 |
---|---|---|
boolean | true、false | 布尔值true或false |
number | 1, -33, 2.5 | 任意数字 |
string | ‘hi’, “hi”, hi |
任意字符串 |
字面量 | 其本身 | 限制变量的值就是该字面量的值 |
any | * | 任意类型 |
unknown | * | 类型安全的any |
void | 空值(undefined) | 没有值(或undefined) |
never | 没有值 | 不能是任何值 |
object | {name:’孙悟空’} | 任意的JS对象 |
array | [1,2,3] | 任意JS数组 |
tuple | [4,5] | 元素,TS新增类型,固定长度数组 |
enum | enum{A, B} | 枚举,TS中新增类型 |
1. boolean
1 | let isDone: boolean = false; |
2. number
1 | let decimal: number = 6; |
3. string
1 | let color: string = "blue"; |
4. 字面量
1 | // 使用字面量去指定变量的类型,通过字面量可以确定变量的取值范围 |
5. any
1 | // 不推荐使用,这样会丧失 TS 的特性,并且可以赋值给其他已知类型的参数 |
6. unknown
1 | // 类型安全any,不能直接赋值给其他变量 |
7. void
1 | // 多用来设置函数返回空值 |
8. never
1 | // 一般用来对处理异常的函数返回值限定 |
9. object
1 | // 由于所有类型继承自 object,所以基本没用 |
10. array
1 | // 语法:类型[] 或者 Array<类型> |
11. tuple
1 | // 元组就是固定长度的数组 |
12. enum
1 | enum Color { |
类型断言
有些情况下,变量的类型对于我们来说是很明确,但是TS编译器却并不清楚,此时,可以通过类型断言来告诉编译器变量的类型,断言有两种形式:
1. 使用 as
1 | let someValue: unknown = "this is a string"; |
2. 使用类似 java 的强制转换
1 | let someValue: unknown = "this is a string"; |