类型守卫

86 阅读1分钟

在使用断言时我们已经确定了变量的类型,确定该类型时一定存在(否则则会欺骗编译,运行时报错)。类型断言还是需要借助类型守卫的,类型守卫主要是用来判断未知类型是不是所需要的类型。 类型守卫主要包括四种方式:

  • 类型判断:typeof
  • 属性或者方法判断:in
  • 实例判断:instanceof
  • 字面量相等判断:, =, !=, !==
//例
function class(name: string, score: string | number) {
    //识别到sore为number类型
    if (typeof score === "number") {
       
    }
     //识别到sore为string类型
    if (typeof score === "string") {
       
    }
}