繁体   English   中英

在TypeScript中的类中实现索引器

[英]Implementing an indexer in a class in TypeScript

目前是否可以在TypeScript中的类上实现索引器?

class MyCollection {
   [name: string]: MyType;       
}

这不编译。 当然,我可以在接口上指定索引器,但是我需要这种类型的方法以及索引器,因此接口是不够的。

谢谢。

您无法使用索引器实现类。 您可以创建一个接口,但该接口不能由类实现。 它可以用纯JavaScript实现,你可以在界面上指定函数和索引器:

class MyType {
    constructor(public someVal: string) {

    }
}

interface MyCollection {   
   [name: string]: MyType;
}

var collection: MyCollection = {};

collection['First'] = new MyType('Val');
collection['Second'] = new MyType('Another');

var a = collection['First'];

alert(a.someVal);

对于那些寻找答案的人来说,这是一个老问题:现在可以定义一个索引属性,如:

let lookup : {[key:string]:AnyType};

密钥的签名必须是字符串或整数,请参阅:

www.typescriptlang.org上的界面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM