给定类型:
type TestType = {
a?: string;
b?: number;
c?: boolean;
};
我想创建一个类,实现TestType
及其所有属性名称,其中类型可以不同。
如果没有,则抛出错误。
我试过Pick
,Required
等,但没有成功。
示例(错误):
/* Error, not all TestType properties are implemented */
class TestClass implements TestType {}
(正确的)例子:
class TestClass implemenets TestType {
a?: boolean; // Different type
b?: number; // Same type
c?: string; // Different type
}
这可以用Typescript实现吗?
谢谢!
我们可以创建一个名为ToAny
的实用程序type
:
type ToAny<T> = {[K in keyof T]: any}
用法:
class TestClass implements ToAny<TestType> {}
class TestClass2 implements ToAny<TestType> {
a?: boolean; // Different type
b?: number; // Same type
c?: string; // Different type
}