Как создать пустой объект, который имеет определенный тип значения - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь создать объект, имеющий ключи строкового типа, а значения - это объекты определенного мной класса.

Примером может быть:

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

Итак, я хочупросто инициализировать его пустым объектом, соответствующим ключу 'Lady' следующим образом.

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

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018
let rockHardObs: {
    [key?: "Lady"]: { [key: string] : Gaga }
} = {}
0 голосов
/ 19 ноября 2018

Вы можете использовать пустой литерал объекта и утверждение типа, чтобы сообщить компилятору, какой будет ожидаемый тип свойства:

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