零基础入门Typescript—类型推论,联合类型和类型断言

类型推论 - type inference

在类型脚本中,有的地方使用类型推论在没有明确类型注释时提供类型的信息
例如:

let x = 3;

我们没有声明类型,但是类型推论其为number类型

在这里插入图片描述

联合类型 - union types

我们只需要用中竖线来分割两个,下面例子即表示可以number类型也可以string类型

在这里插入图片描述

当 TypeScript 不确定一个联合类型的变量到底是哪个类型的时候,我们只能访问此联合类型的所有类型里共有的属性或方法:

numberOrString.length
numberOrString.toString()

类型断言 - type assertions

关于类型断言,简单解释一下下面代码意思:input是联合类型,可以是number或者string,下面要返回参数的长度,但是只有字符串有length属性,所以用toString() 将数字转换为字符串再取其length。

function getLength(input: string | number): number {
    
    
  const str = input as string
  if (str.length) {
    
    
    return str.length
  } else {
    
    
    const number = input as number
    return number.toString().length
  }
}

这里就是用 as 关键字,告诉typescript 编译器,你没法判断我的代码,但是我本人很清楚,这里我就把它看作是一个 string,你可以给他用 string 的方法。

猜你喜欢

转载自blog.csdn.net/weixin_45745641/article/details/121154235