美文网首页
TypeScript(八):类型别名和类型断言

TypeScript(八):类型别名和类型断言

作者: 林ze宏 | 来源:发表于2021-05-09 18:06 被阅读0次
  • 类型别名,使用 type 关键字
function sum(x: number, y: number): number {
  return x + y
}
const sum2: (x: number, y: number) => number = sum;

上面 sum2 函数类型定义很麻烦,可以使用类型别名:

type PlusType = (x: number, y: number) => number;

function sum(x: number, y: number): number {
  return x + y
}

const sum2: PlusType  = sum;

类型别名,最常用的是使用联合类型

type NameResolver = () => string;
type NameOrResolver = string | NameResolver; // 联合类型

// 如果参数是字符串,则直接返回,如果是方法,则执行方法
function getName(n: NameOrResolver): string {
  if (typeof n === 'string') {
    return n
  } else {
    return n()
  }
}
  • 类型断言
    类型断言,大概意思就是说,本人比编译器更加清楚类型;如果断言成不存在的类型,是会报错的。
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
  }
}

另外一种方式写法:

function getLength(input: string | number) : number {
  if((<string>input).length) {
    return (<string>input).length
  } else {
    return input.toString().length
  }
}

相关文章

  • TypeScript(八):类型别名和类型断言

    类型别名,使用 type 关键字 上面 sum2 函数类型定义很麻烦,可以使用类型别名: 类型别名,最常用的是使用...

  • TypeScript基础入门之高级类型的类型别名

    转发 TypeScript基础入门之高级类型的类型别名 高级类型 类型别名 类型别名会给一个类型起个新名字。 类型...

  • TypeScript 类型Never 和 类型断言

    never类型 never类型表示的是那些永不存在的值的类型。 例如, never类型是那些总是会抛出异常或根本就...

  • TypeScript 类型断言

    类型断言(Type Assertion)可以用来手动指定一个值的类型。 语法 <类型>值 或者 值 as 类...

  • typescript 类型断言

    有时候会遇到这样的情况,你会比TypeScript更了解某个值的详细信息。 通常这会发生在你清楚地知道一个实体具有...

  • TypeScript类型断言

    类型断言 类型断言(Type Assertion)可以用来手动指定一个值的类型。 语法 在 tsx 语法(Reac...

  • TypeScript 类型断言

    语法 <类型>值 或者 值 as 类型 在 tsx 语法(React 的 jsx 语法的 ts 版)中必须用后一种...

  • TypeScript类型断言

    类型断言(Type Assertion)可以用来手动指定一个值的类型 自己理解,在联合类型的时候,只能访问联合类型...

  • Typescript类型断言

    语法 <类型>值 或者 值 as 类型 在 tsx 语法(React 的 jsx 语法的 ts 版)中必须用后一种...

  • typescript类型断言

    类型断言 有时候你会遇到这样的情况,你会比TypeScript更了解某个值的详细信息。 通常这会发生在你清楚地知道...

网友评论

      本文标题:TypeScript(八):类型别名和类型断言

      本文链接:https://www.haomeiwen.com/subject/svqwrltx.html