繁体   English   中英

如何键入 object,其键是另一种类型键的子集

[英]How to type an object whose keys are a subset of the keys of the another type

我有这样的类型:

type Metadata = {
  name: string;
  size: number;
  date: string;
  language: string;
  formattedName: string;
  normalizedDate: string
};

现在我需要建立这个常量:

const main = {
  name: ["main", "master"],
  size: ["size"],
  date: ["date"],
  language: ["lang", "language"]
} as ??? // as Record<keyof Metadata, string[]>;

这是一个 object,其键是元数据类型键的子集,值是字符串数组。 我怎样才能输入main的object? 我试过Partials(Metadata)但它似乎不对。 哪个是正确的方法?

您可以说此类型必须“满足”或至少可分配给另一种类型,而无需在 4.9+ 中使用新的satisfies关键字实际覆盖推断的类型信息:

const main = {
  name: ["main", "master"],
  size: ["size"],
  date: ["date"],
  language: ["lang", "language"]
} satisfies Partial<Record<keyof Metadata, string[]>>;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM