在TypeScript运行代码之前,会使用类型检查器对代码进行检查是否符合类型安全要求。
类型检查是TypeScript的魔力所在。
有了这一步,TypeScript才能保证程序能按预期正常运行。
那么,如果加入类型检查和运行JavaScript,TypeScript编译的过程大致变成以下所示的那样:

类型系统:类型检查器为程序分配类型时使用的一系列规则。
一般来说,类型系统有两种;
一种通过显式句法告诉编译器所有值的类型,另一种自动推导值的类型。
为了显式告知TypeScript你使用的是什么类型,需要使用注解。
注解的形式为Value:Type。
TypeScript
let a:number = 1
如果想让TypeScript推导类型,那就去掉注解,让其自动推导;
TypeScript
let a = 1
下面我们对比一下TypeScript和JavaScript的类型系统
类型系统特性 | JavaScript | TypeScript |
类型是如何绑定的? | 动态 | 静态 |
是否自动转换类型? | 是 | 否 |
何时检查类型? | 运行时 | 编译时 |
何时报告错误? | 运行时(多数时) | 编译时(多数时) |