我有一个数组,我想通过向它添加属性来重用它。考虑下面的例子。为了涵盖数字索引和字符串索引,我使用了更通用的字符串索引签名。但是,当试图将数组分配给接口时,TypeScript会给出一个错误。在JavaScript中,括号属性访问器中的数字索引被转换为字符串,即arr[0]被转换为arr["0"]。.
// Index signature is
当使用枚举作为对象键时,我得到了一些奇怪的TS行为。我期望TS错误,但事实并非如此,我不明白为什么。 enum List { md = "md", [index: string]: T;export type OptionalDictionary<T, K extends string = string> = { [P in K]?: T };
type MessageType = Dictionary<s