ts类型检查机制
类型推断
-
基础类型推断
- 初始化 推断
let x = 1;- 自动推出x是number类型
- 默认参数 推断
let speak = (x = "nothing") => { return x; };
- 初始化 推断
-
自动推断x是string类型
- 返回值 推断
let sum = (x: number, y number) => { return x + y; }- 自动推断返回值是number类型
- 返回值 推断
-
最佳类型推断
- 多类型合一 推断
let bucket = [123, "456"];- 自动推断 bucket类型 为 number 和 string 的联合类型
- 多类型合一 推断
-
上下文类型推断
- 事件处理
window.onKeydown = (event) => {};- 自动推断 event类型 为 KeyboardEvent
- 事件处理
类型断言
- 使用
as 类型,强行断言一个东西是这个类型,用于通过检查- 一般不建议使用,因为一个东西还可能会是其他类型,比如undefined,强行断言使用就会造成错误
- 最好在生成这个东西时,就明确类型