typescript - 合并记录用一把不同类型的钥匙?
问题描述
是否可以在 TypeScript 中有一个类型,它是一个具有foo
type属性number
和任何其他type 属性的对象string
?
我试过了:
type O = Record<string, string> & { foo: number };
const o: O = { foo: 1, bar: 'baz' };
但我明白了
Type '{ foo: number; bar: string; }' is not assignable to type 'O'.
Type '{ foo: number; bar: string; }' is not assignable to type 'Record<string, string>'.
Property 'foo' is incompatible with index signature.
Type 'number' is not assignable to type 'string'.
我也尝试过这样的变体,但它们给出了相同的错误:
type O = { foo: number; } & Record<string, string>;
type O = { foo: number; [key: string]: string; }
解决方案
推荐阅读
- jquery - 使用 jQuery 修复导航菜单
- sql - “您无法添加或更改记录,因为表中需要相关记录”
- excel - 如何多选工作表
- kubernetes - 具有 nexus 不安全注册表的 GKE Containerd 节点池
- postgresql - 带有 Postgres 数据库的 WSO2 API-Manager 无法正常工作
- android - 谷歌智能锁是否有任何日期被谷歌身份服务取代,即谷歌一键式?
- javascript - Select2 在第一次 select2 打开事件中打开另一个 select2
- gem5 - gem5 se 模式下无法恢复检查点
- python-3.x - 使用 smtp python 从自定义域发送电子邮件
- azure - (非 hacky)使用 C# Azure SDK 将文件上传到 PageBlob 的方法