1.背景:把一个变量赋值给一个函数的时候,这个变量就自动获得了一个类型
2.类型推论(type inference)原则:变量在赋值的过程中,typescript会在没有明确指出类型的时候推断出这个变量应该是什么类型的
3.联合类型(union types)
当typescript不确定一个联合类型的变量到底是哪个类型的时候,只能访问
此联合类型所有类型共有的属性和方法
4.类型断言(type assertion):有时候确实在不确定类型的时候,要访问其中一个类型的属性或者方法(使用as关键字)
类型断言不能断言成联合类型中不存在的类型
解决这个问题(有时候确实在不确定类型的时候,要访问其中一个类型的属性或者方法)除了使用类型断言外 还可以使用typescript中的一个特性type guard
作用:当遇到一个联合类型的时候,使用条件语句,自动帮你缩小类型的范围,最常见的关键字typeof instance of(作用于类的实例)