约束静态字典的形状,同时保留其精确形状的类型推断

时间:2021-01-02 15:58:21

标签: typescript dictionary type-inference mapped-types

假设我有一个静态字典:

const myDict = {
  1: "one",
  2: "two",
}

TypeScript 现在推断 typeof myDict 与形状 myDict 完全匹配,这非常好,因为 IDE 可以为我自动补全 myDict

我现在想约束字典,使其必须符合模式 { [k: number]?: string },但保留确切的类型推断,所以我不会丢失自动完成。当我明确输入时:

const myDict: { [k: number]?: string } = {
  1: "one",
  2: "two",
}

然后 typeof myDict{ 1: "one", 2: "two" } 更改为 { [k: number]?: string },破坏了我的自动完成功能。这是一种直接的方法吗?

0 个答案:

没有答案