Javascript 如何在typescript中定义计算属性

Javascript 如何在typescript中定义计算属性,javascript,typescript,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"); drive

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

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})

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

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

与解决方案无关:在构造函数中:
this.id=name
应该是
this.name=name
让驱动程序:数组