用一把不同类型的钥匙?,typescript"/>

首页 > 解决方案 > 合并记录用一把不同类型的钥匙?

问题描述

是否可以在 TypeScript 中有一个类型,它是一个具有footype属性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; }

标签: typescript

解决方案


推荐阅读