如何创建定义了值类型的空对象

时间:2018-11-19 08:03:57

标签: javascript angular typescript object

我正在尝试创建一个具有字符串类型键的对象,并且这些值是我定义的类的对象。

一个例子是:

let rockHardObs = {
    'Lady': { 
        'Rah': new  Gaga('rah-ah-ah-ah'),
        'Roma': new  Gaga('roma-ma')
    }
}

所以我只想用一个与键'Lady'相对应的空对象来初始化它。

let rockHardObs = {
    'Lady': { string : Gaga }
}

2 个答案:

答案 0 :(得分:2)

您可以使用一个空的对象常量和一个类型断言来告诉编译器期望的属性类型是什么:

let rockHardObs = {
    'Lady': { } as { [key: string]: Gaga }
}

答案 1 :(得分:1)

let rockHardObs: {
    [key?: "Lady"]: { [key: string] : Gaga }
} = {}