TypeScript接口的实现总结

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

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

 

一、正常的写法:

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

TypeScript接口的实现总结_第1张图片

 

二:TypeScript的简化写法

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

TypeScript接口的实现总结_第2张图片

 

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

1、没有implements 接口名

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

TypeScript接口的实现总结_第3张图片

2、implements 接口名

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

TypeScript接口的实现总结_第4张图片

 

四、在报错的时候也运行

1、缺少属性的初始化

TypeScript接口的实现总结_第5张图片

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

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

 

2、缺少方法的实现。

 

TypeScript接口的实现总结_第6张图片

这种情况就会报错:

Uncaught TypeError: interfaceTest.func is not a function

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

 

你可能感兴趣的:(TypeScript,TypeScript,接口,实现)