In einer App, die WebSockets verwendet, möchte ich Socket-Close-Codes Strings zuordnen, so dass ich beim Schließen des Ereignisses die Nachricht vom numerischen Code abrufen kann. Im Moment bin ich Export nur ein Objekt aus einem „Konstanten“ -Modul, etwa so:TypeScript: So erstellen Sie ein schreibgeschützt numerisch indiziertes Objekt
export const CloseCodes: { [index: number]: string } = {
1000: "Normal closure",
1001: "The endpoint is going away",
1002: "The endpoint is terminating"
// etc.
}
Auf Steckdose in der Nähe, kann ich die event.code
in einen String über CloseCodes[event.code]
Karte, das ist, was ich will, aber ich kann auch CloseCodes[event.code] = "garbage"
, CloseCodes[1234]="hello"
und delete(CloseCodes[event.code])
tun, die alle unerwünscht sind. Gibt es eine Möglichkeit, eine schreibgeschützte, numerisch indexierte Struktur für diese Art der Verwendung zu erstellen? Ich suche nach einem TypeScript-Weg, dies zu tun, nicht nach einem ES6 Object.defineProperty(...)
Weg.
Danke, das funktioniert. Ich bekomme keinen Fehler mit 'delete WsCloseCodes [1000];', obwohl nicht sicher, warum, seit ich TypeScript 2.1.4. Wie auch immer, das ist, was ich gesucht habe. – 4EverLive