关于类构造器签名的一点补充

来源:3-12 接口 -类类型+继承接口+混合类型+接口继承类

慕丝8101871

2020-01-28

关于类直接继承构造器接口报错的原因,官方文档和老师说的“不会去检查”其实不太确切。本质原因是构造器要求类在实例部分实现构造器签名,但是在类的实例部分中是没有实现这个构造函数的。因为类的构造函数在类的静态部分,所以才会报错。(也就是检查了但是不符合要求)

之后第二个电子钟的例子之所以不会报错是因为ctor参数并没有去implement构造器接口,只需要符合构造器接口的“形状”就行了。构造器接口里只有一个构造器签名,而签名不是强制的,因此实际上即使DigitalClock类中没有constructor也是可以通过类型检查的,但是如果实现了constructor而参数类型不对,是会报错的。

写回答

1回答

ustbhuangyi

2020-01-28

我倒是感觉 “不去检查”比 “在类的实例部分中是没有实现这个构造函数的”更容易理解喔,因为通常也不会在类的实例部分去实现一个构造器呀。

0
0

下一代前端开发语言 TypeScript从零重构axios

课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!

2631 学习 · 877 问题

查看课程