2016-04-06 8 views
1

オブジェクト辞書と通常のJavaScriptオブジェクトの混合物のように見える:いずれかのオブジェクトに割り当てられた特性の大部分が文字列ベース(「動的プロップ」)特性によって表されると含有するであろうTypeScriptでこのオブジェクトのシェイプを記述する方法は?

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

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

オブジェクトまたは関数。

さらに、2つのプロパティpropとfuncが追加されます。

答えて

1

これはテキストですので、コードのみの回答ではありません。

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

文字列インデクサーと実際のプロパティを混合する際に問題があります。コンパイラによると、funcは文字列インデクサに代入されません。 –

+0

文字列インデックス型は、すべてのプロパティの型から割り当て可能でなければなりません(この例では、共用体の最初の部分)。 –

+0

どうもありがとう! –

関連する問題