类型保护

1   自定义类型保护

 

function isString(value: number | string): value is string {
  const number = Math.random() * 10
  return number < 5;
}

 

首先定义一个函数,函数的参数 value 就是要判断的值,在这个例子中 value 的类型可以为 number 或 string,函数的返回值类型是一个结构为 value is type 的类型谓语,value 的命名无所谓,但是谓语中的 value 名必须和参数名一致。

 

2 .  typeof 类型保护

  • type 只能是numberstringbooleansymbol四种类型
  • 只能使用=!两种形式来比较

 

3. instanceof 类型保护

instanceof操作符是 JS 中的原生操作符,它用来判断一个实例是不是某个构造函数创建的,或者是不是使用 ES6 语法的某个类创建的。

 

posted @ 2019-08-08 09:09  1点  阅读(207)  评论(0编辑  收藏  举报