【发布时间】:2017-04-14 22:54:13
【问题描述】:
如何正确键入实现接口的类?
示例代码:
interface IPlugin{
name:string;
}
class SomePlugin implements IPlugin{
name;
constructor(){
this.name = 'Sam';
}
}
const arrayOfClass:IPlugin = [SomePlugin];
// Ther error :
/*
Type 'typeof SomePlugin[]' is not assignable to type 'IPlugin'.
Property 'name' is missing in type 'typeof SomePlugin[]'.
*/
我该怎么办?
【问题讨论】:
-
香蕉是水果,但一盒香蕉不是水果。同样的事情:SomePlugin 是 IPlugin,但 SomePlugin 数组不是 IPlugin。因此,这段代码没有多大意义,但如果不知道您实际想要实现的目标,就很难给出建议。
-
其实比这还要糟糕。您没有香蕉弓,而是一个包含用于种植香蕉的配方的盒子,即包含 SomePlugin 类型的数组。
-
尝试创建一个实现 IPlugin 的类构造函数数组
标签: class typescript interface