2016-07-05 40 views
4

Ich habe ein Objekt wie folgt:Schnittstelle für assoziative Objektarray in Typoskript

var obj = { 
    key1: "apple", 
    key2: true, 
    key3: 123, 
    . 
    . 
    . 
    key{n}: ... 
} 

So obj eine beliebige Anzahl von benannten Schlüssel enthalten können, aber die Werte müssen alle entweder String, Bool, oder Zahl sein.

Wie deklariere ich den Typ obj als Schnittstelle in TypeScript? Kann ich ein assoziatives Array (oder Variadentupel) eines Union-Typs oder etwas Ähnliches deklarieren?

Antwort

7

Ja, können Sie dies tun:

interface MyType { 
    [key: string]: string | boolean | number; 
} 

var obj: MyType = { 
    key1: "apple", 
    key2: true, 
    key3: 123 
}; 
+0

Ja, dass meine Frage beantwortet. Danke vielmals. – prmph

+2

@prmph also bitte markieren Sie es als richtig –