我有一个界面
export interface Foo {
a: string;
b: string;
}
我现在想拥有另一个实现接口的所有键的类,但可以具有另一种类型:
export class Bar implements keysof(Foo) {
a: SomeNewType;
b: SomeNewType2;
}
打字稿可能吗?背景:我希望Bar
班级的按键与之同步Foo
您可以使用键映射来实现。
export interface Foo {
a: string;
b: string;
}
type HasKeys<T> = {
[P in keyof T]: any;
}
export class Bar implements HasKeys<Foo> {
}
这会抱怨Bar
缺少它a
,b
但是如果您使用任何类型定义它们都可以。即
export class Bar implements HasKeys<Foo> {
a: number;
b: object;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句