如何在打字稿中定义计算属性

时间:2018-07-20 23:08:14

标签: javascript typescript

我想将具有动态属性名称的对象添加到数组中,但是我不知道如何定义数组

class Driver {
    public id: string;
    public name: string;
    constructor(id , name) {
        this.id = id;
        this.name = name;
    }
}

let drivers: Driver[];
let driver = new Driver("1111","tom");
drivers.push({[driver.id]:driver})

1 个答案:

答案 0 :(得分:2)

由于您事先不知道这些对象的键是什么,因此需要使用index signature。因此,对于您的示例,您将这样定义类型:

let drivers: {[id: string]: Driver}[];