Typescript类force Type属性的实现



给定类型:

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
}

相关内容

  • 没有找到相关文章

最新更新