我如何实现可索引的接口:
interface fooInterface{
// indexable
[index:string]:number;
[index:number]:number;
}
class Foo implements fooInterface{
// What goes here?
}
Run Code Online (Sandbox Code Playgroud)
Jud*_*her 13
您不是在类定义中实现它,而是仅通过寻址实现它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
Run Code Online (Sandbox Code Playgroud)
Quote和Widget示例取自:http://blogs.msdn.com/b/typescript/archive/2013/01/24/interfaces-walkthrough.aspx
归档时间: |
|
查看次数: |
5277 次 |
最近记录: |