类型保护
- ts本身提供了一些类型识别。is语法
- js也提供了一些类型保护,比如typeof、instanceof、in等
is语法
- is指定这个函数返回值为true的时候,给参数指定类型
unknown
- 也是一个ts中的类型,是ts一个高级类型
- any叫做不检测了,随意。但是unknown要进行类型检测(但是不知道是什么)
- 类型如果是unkonw,则不能直接使用,不能做运算
unkonwn的使用
- 我们在使用unkonw的时候,要保证安全
- unknown只有被断言或类型保护了,就可以使用
特殊情况
- unknown和任何类型取交集,返回另一个类型
- 一个不知道的类型和已知道的,结果就是unknown
- unknown不能被keyof,但是any可以keyof,结果是string、number和symbol
- 所以当我们使用的时候补知道他的具体类型,就不要再使用any,采用unkonw,因为any不安全