我将如何实现可索引的接口:
interface fooInterface{
// indexable
[index:string]:number;
[index:number]:number;
}
class Foo implements fooInterface{
// What goes here?
}
我将如何实现可索引的接口:
interface fooInterface{
// indexable
[index:string]:number;
[index:number]:number;
}
class Foo implements fooInterface{
// What goes here?
}
您永远不会在类定义中实现它,而只能通过寻址来实现instance[index]
,因此您fooInterface
不能通过implements
TypeScript 类使用,但可以用于描述对象的预期结构,例如var foo: fooInterface = {};
描述可索引对象
JavaScript 中的一种常见模式是使用对象(例如 {})作为从一组字符串映射到一组值的方式。当这些值属于同一类型时,您可以使用接口来描述对对象的索引总是产生某种类型的值(在本例中为 Widget)。
interface WidgetMap {
[name: string]: Widget;
}
var map: WidgetMap = {};
map['gear'] = new GearWidget();
var w = map['gear']; // w is inferred to type Widget
引用和小部件示例取自:http: //blogs.msdn.com/b/typescript/archive/2013/01/24/interfaces-walkthrough.aspx