as 类型断言

这里说下我的感觉,as就类似于 name:string = 'sgje' 和这里的   :string  一样的

只是他在定义之前没有明确的定义类型 name = 'sgje'

在调用函数使用的时候 name.indexof('8') 使用

// 使用尖括号语法进行类型断言
const index1 = (<string>name).indexOf('8');

// 或者使用 as 关键字
const index2 = (name as string).indexOf('8');

来告诉编译器,明确的说明这个变量是string类型

在特定的环境中,我们会比TS知道这个值具体是什么类型,不需要TS去判断,简单的理解就是,类型断言会告诉编译器,你不用给我进行检查,相信我,他就是这个类型

共有两种方式:

  • 尖括号
  • as:推荐
   //尖括号
   let num:any = '小杜杜'
   let res1: number = (<string>num).length; // React中会 error

   // as 语法
   let str: any = 'Domesy';
   let res: number = (str as string).length;

但需要注意的是:尖括号语法在React中会报错,原因是与JSX语法会产生冲突,所以只能使用as语法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天吃饭的羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值