在使用WebSockets的應用程序中,我想將套接字關閉代碼映射到字符串,以便在關閉事件時,我可以從數字代碼中獲取消息。目前,我只是從一個「常量」模塊導出對象,像這樣:TypeScript:如何創建只讀數字索引對象
export const CloseCodes: { [index: number]: string } = {
1000: "Normal closure",
1001: "The endpoint is going away",
1002: "The endpoint is terminating"
// etc.
}
在套接字關閉,我可以通過CloseCodes[event.code]
的event.code
映射爲一個字符串,這就是我想要的,但我也可以做CloseCodes[event.code] = "garbage"
,CloseCodes[1234]="hello"
和delete(CloseCodes[event.code])
,所有這些都是不希望的。有沒有辦法爲這種類型的用法創建只讀數字索引結構?我正在尋找一種TypeScript方式來做到這一點,而不是ES6 Object.defineProperty(...)
的方式。
謝謝,這個作品。我沒有遇到'刪除WsCloseCodes [1000];'的錯誤;'但是,不知道爲什麼因爲我運行的是TypeScript 2.1.4。無論哪種方式,這是我正在尋找。 – 4EverLive