采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这个类类型接口看不懂,implements 啥意思?
一个类主要包含 2 个部分:静态部分和实例部分。类类型接口就是描述类的静态部分,比如:interface ClockConstructor { new (hour: number, minute: number)}这个就是类类型的接口而:interface ClockInterface { currentTime: Date setTime(d: Date)}这个是实例类型的接口,描述类的实例部分。implements 是一个关键字class Clock implements ClockInterface表示我定义了一个 Clock 类要去实现 ClockInterface 接口定义的这些属性方法。
怎么知道它究竟定义的是实例类型还是静态类型,new()和setTime()这俩不一样吗,不都是定义了两个函数吗
不一样,new 是特殊的关键字
请忽略。
老师,你说类类型接口就是描述类的静态部分。
}
比如在这方法中,我们用ClockConstructor描述了ctor参数,表示ctor参数必须有一个构造方法,而且这个构造方法必须有hour,minute参数,这里理解对吧?
如果这样理解是对的,为什么我在下面写的两个类(DigitalClock、AnalogClock)中没有constructor(h: number, m: number) { },在传入在createClock的第一个参数的时候(ctor),不会报错??
TS 对于这块的类型检查比较宽松,如果不写不会报错,但是如果写了但是类型不对的话还是会报错的。
当一个类去实现一个接口的时候,它实际上是对实例部分做类型检查。 而构造器存在于类的静态部分,所以是不会做检查的。 那么当我们就是要对类的静态部分进行检查的时候,我们就用到类类型的接口,老师我这样理解对吗?
理解正确
登录后可查看更多问答,登录/注册
课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!
1.3k 14
1.6k 13
1.4k 13
1.1k 13
1.5k 11