Typescript Mixin动态界面

时间:2018-09-11 04:29:59

标签: typescript

interface Base {
}

interface A {
    a: number
}

interface B {
    b: number;
}

interface C {
    c: number
}

interface AB extends A, B, Base {}
interface AC extends A, C, Base {}
interface BC extends B, C, Base {}
interface ABC extends A, B, C, Base {}

Base可以选择扩展任何接口。 我想知道让扩展接口作为其他语法。 因为可扩展类的数量可以增加。

interface Mix2<T, U> extends T, U, Base {
}
type AB = Mix2<A, B>
type BC = Mix2<B, C>

我知道,这是错误的语法,只是我期望的例子。

1 个答案:

答案 0 :(得分:1)

如果只需要一个表示必须具有其他两个已定义类型的成员的对象的类型,则可以使用交集类型

type AB = A & B & Base
type BC = B & C & Baee

您可以详细了解路口类型here