【问题标题】:Typescript: How do I define an interface for an object type's key value pairTypescript:如何为对象类型的键值对定义接口
【发布时间】:2021-12-08 17:04:05
【问题描述】:

我有一个名为 externalObject 的对象,它有各种键:值对。

我还有一个 typescript 接口,定义如下:

interface TestObject{
   externalObject?: {}
}

我的问题是如何进一步将 externalObject 的键的类型设置为字符串,以及将在 externalObject 内部传递的值设置为字符串或数字?

注意:我们并不总是知道键:值对。它们每次都不同。

【问题讨论】:

  • 您知道属性名称/类型还是它们不同?
  • 您不知道属性名称/类型。它们各不相同。

标签: javascript reactjs typescript object javascript-objects


【解决方案1】:

您可以在接口上设置任意数量的键/类型,方法与分配对象类似。如果您不提前知道属性名称,可以使用动态键:

export interface ITestObject {
  externalObject: {
    [key: string]: string | number;
  };
}

或者,您可以将属性设置为 unknown 并将其转换为正确的类型。

【讨论】:

    猜你喜欢
    • 2021-03-16
    • 2017-07-02
    • 2019-07-03
    • 1970-01-01
    • 2016-12-02
    • 2020-01-07
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    相关资源
    最近更新 更多