簡體   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