【ts】类型断言、约束属性和方法、类的继承、类的修饰符

一、类型断言

两种写法 : 1. 值 as 类型 2. <类型>值
使用类型断言一定要谨慎,类型断言只能规避编译时候的错误;但是不能避免运行时候的错误

1.声明两个接口
// 猫
interface Icat{
    name : string 
    run() :void
}
// 鱼
interface Ifish{
    name : string 
    swim() :void
}

2。ts只允许我们访问联合数据类型的共有属性和方法;

如果不是共有的不能访问

// function isFish(animal:Icat|Ifish):boolean{
//     //   类型“Icat”上不存在属性“swim”  swim 这个地方会报错
//     if(typeof animal.swim == 'function'){
//         // 鱼
//         return true
//     }else{
//         // 🐱
//         return false
//     }
// }

1、 (值 as 类型).属性/方法

// function isFish(animal:Icat|Ifish):boolean{
//     if(typeof (animal as Ifish ) .swim == 'function'){
//         // 鱼
//         return true
//     }else{
//         // 🐱
//         return false
//     }
// }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值