2016-04-06 2 views
1

Объект выглядит как смесь словаря и объект регулярного JavaScript:Как описать форму этого объекта в TypeScript?

var obj = { 
    'dynamic prop1': { }, 
    'dynamic prop2': function() { }, 
    'dynamic prop3': function() { }, 
    'dynamic prop4': function() { }, 

    func: function() {}, 
    prop: null 
}; 

Большинство свойств, назначенных на объект будет представлены струнной основой («динамического реквизитом») свойств и будет содержать либо объект или функция.

Кроме того, он будет содержать еще два свойства: prop и func.

ответ

1

Это какой-то текст, поэтому это не ответ на код.

interface MyObjType { 
    [key: string]: (() => void) | { maybeYouHaveSomePropertiesToDeclare?: string }; 
    func(): void; 
    prop: any; 
} 
+0

Существует проблема со смешением указателей строк и реальных свойств. Компилятор говорит, что func не назначается для индексатора строк. –

+0

Тип индекса строки должен быть назначен из типа всех свойств (следовательно, первая часть типа объединения, показанная в примере). –

+0

Получил! Большое спасибо! –

Смежные вопросы