Ts学习笔记-unknown类型

62 阅读1分钟
  • 为解决any类型污染其他变量的问题,ts3.0引入了unknown类型
  • 他与any类型含义相同,便是类型不确定,可能是任意类型,但是它的使用有一些限制,不像any那样自由,可以视为严格版的any
  • unknown类型只能赋值给any类型和unknown类型,这样就避免了污染问题
  • 不能直接调用unknown类型变量的方法和属性
  • unknown类型变量能够进行的运算是有限的,只能进行比较运算(==、===、!=、!==、||、&&、?)、取反运算(!)、typeof运算符、instanceof运算符这几种,其他都会报错
  • 只有经过“类型缩小”unknown类型变量才可以使用,即使用typeof等确定类型为number或string或其他
  • unknown是ts中的顶层类型,即unknown包含所有其他类型