TypeScript接口的实现总结

最近又重新用TypeScript来作项目语言,然后发现一个比较有意思的事情,那就是:

TypeScript判断一个类是否继承自哪个接口,根本不需要implements对应的接口,只需要实现接口该接口对应的方法和初始化该接口对应的属性,这样就OK了。

 

一、正常的写法:

我们平常写一个类实现某个接口,都要在这样:类名 implements 接口名 。类似这样:

 

二:TypeScript的简化写法

可以不写:implements 接口名。甚至连ClassTest顶部的import { InterfaceTest } from "./InterfaceTest",都可以省略。

 

三:TypeScript没有实现方法或没有初始化属性的时候

1、没有implements 接口名

则在调用ClassTest的时候,会提示没有实现接口InterfaceTest。

2、implements 接口名

则在定义和调用的时候,就提示了没有实现接口InterfaceTest。

 

四、在报错的时候也运行

1、缺少属性的初始化

这种情况还是可以运行的,因为TS最终的形态还是JS,所以属性可以不用预先定义也能赋值和使用。

这里的报错是语法上的报错。

 

2、缺少方法的实现。

 

这种情况就会报错:

Uncaught TypeError: interfaceTest.func is not a function

因为JS在调用一个方法的时候,这个方法没有定义,这时就会报这个错。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值