美文网首页
Typescript类型断言

Typescript类型断言

作者: 我想买头骆驼带它去看大海 | 来源:发表于2020-03-01 12:23 被阅读0次

语法

<类型>值 或者 值 as 类型

在 tsx 语法(React 的 jsx 语法的 ts 版)中必须用后一种 (值 as 类型) 。

什么情况下会需要用到类型断言?
当 TypeScript 不确定一个联合类型的变量到底是哪个类型的时候,我们只能访问此联合类型的所有类型里共有的属性或方法:

function getLen(value: string | number): number {

return value.length;

}

//index.ts(2,22): error : Property 'length' does not exist on type 'string | number'.(注释:"属性“length”在类型“string | number”上不存在。")

// Property 'length' does not exist on type'number'.(注释:"属性“length”在类型“number”上不存在")

而有时候,我们确实需要在还不确定类型的时候就访问其中一个类型的属性或方法,比如:

function getLen(value: string | number): number {

    if(value.length) {

            return value.length;

      }else{

           return value.toString().length;

      }

}

//error : Property'length'does not exist ontype'string | number'.// Property'length'does not exist ontype'number'.

//error : Property'length'does not exist ontype'string | number'.// Property'length'does not exist ontype'number'.

.这时候还是会报错,跟上面一样,此时 类型断言就有用了,将上面代码修改一下,如下:

function getLen(value: string | number): number {

    if( (<string>value).length ) {                       / /注释:如果你传入的这个value值是string才会进入这个条件里面

          return  (value).length;

       }else{                                                       //  不是string的话就会 进入这个条件

          return  value.toString().length;

       }

}

上述代码:类型断言说白了的意思就是 ,我把这个参数当做 什么东西(string或者number或者等等,但是必须得是你的参数类型所包括的) 先进行判断,

这就是类型断言基本含义.

相关文章

  • ES6 之后 typescript 类

    1.0 typescript 类型断言 letsomeValue:any="this is a string";l...

  • 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类型断言

    类型断言 TS 类型断言定义:把两种 有重叠关系的 数据类型 进行相互转换,把其中一种数据类型 转换成 另外一种数...

  • TypeScript的类型断言

    本文摘自 https://ts.xcatliu.com/basics/type-assertion[https:/...

网友评论

      本文标题:Typescript类型断言

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