【问题标题】:Typescript - declare object of type打字稿 - 声明类型的对象
【发布时间】:2021-01-20 10:13:11
【问题描述】:

我有一个对象定义为:

const dict = {
    "A": "a",
    "B": "b",
    "C": "c"
};

和定义为type Capital = "A" | "B" | "C";的类型。
typescript 自动分配给dict 的类型是

const dict: {
    A: string,
    B: string,
    C: string,
}

现在我的问题是,有没有办法以使用Capital 的方式声明dict?
const dict: {Capital: string} 之类的东西?

【问题讨论】:

    标签: typescript object types


    【解决方案1】:

    您正在寻找Record<Keys, Type> 类型。 More info.

    针对您的情况的解决方案:

    type Capital = "A" | "B" | "C";
    const dict: Record<Capital, string> = {
        "A": "a",
        "B": "b",
        "C": "c"
    };
    

    (playground link)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-06
      • 2020-01-08
      • 2022-01-26
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      相关资源
      最近更新 更多