javascript - TypeScripts hashtabeller och nycklar med ett bindestreck


Är det möjligt att deklarera en hashtabell som inkluderar nycklar med ett bindestreck i TypeScript?

Här är koden jag har provat:

export interface ImapMessageHeader {
    'mime-version': string[];
    received: string[];
    [index: string]: string[];
}

Från vilket jag får följande fel:

Förväntat identifierare i egenskapsdeklaration

Den sista deklarationen som definierar indextypen tillåter mig att använda vilken strängnyckel som helst, men jag kan inte uttryckligen definiera de jag vill använda.

Tack!

Svar #1

Detta fungerar för mig i TypeScript 0.9.5. Problemet är också markerat som stängt.

interface Foo
{
    "a-1": string;
}

var f: Foo = { "a-1": "hello" };

Svar #2

Citerade egenskapsnamn i gränssnittsdeklarationer och typliteraler stöds inte än, men jag tror att de kommer att läggas till i en framtida version.

Relaterade artiklar