TypeScript(六) 使用类型断言达到预期

使用类型断言达到预期

类型断言

  • 类型断言可以理解为把一个类型强制转化为另一个类型

  • 断言使用方法就是 value as type

起因

const getLength = (target: string | number): number => {
  if (target.length) {
    //error因为string或者number都没有length属性
    return target.length
  } else {
    return target.toString().length
  }
}

这里我们接受了一个函数返回他的长度,我们可以传入字符串,数组,数值的类型.如果有 length 属性。说明参数是数组或者字符串,如果数值类型没有 length 属性。所以需要把数值类型转变为字符串类型然后在获取 length,所以我们这里限定传入的值只能是字符串后者数值类型

正确的做法

const getLength = (target:string|number):number=>{
  if((target as string).length) //error因为string或者number都没有length属性
  {
    return (target as string).length;
  }else{
    return target.toString().length;
  }
}

总结

断言的使用方法类似转换


文章作者: 雾烟云
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 雾烟云 !
  目录