是否会有一个Typescript`mixin`关键字?

时间:2018-04-25 13:54:12

标签: typescript

我一直在阅读关于mixcript中的mixins,试图找到比类扩展更好的组合方法。我有一些很酷的东西在工作。但我总是创建看起来像这样的函数:

export function CanFly<T extends Constructor<{}>>(Base: T) {
    return class extends Base {
        flying: boolean;
        constructor(...args: any[]) {
            super(...args);
        }
        fly () {
            this.flying = true;
        }
        land () {
            this.flying = false;
        }
    };
}
class Person {
    name: string;
}
export class SuperHero extends CanFly(Person) {
    constructor () {
        super();
    }
}

似乎应该有一个mixin关键字或其他东西来消除以下内容:<T extends Constructor<{}>>(Base: T)。这样的事情存在吗?

在C#中,您可以扩展多个类,这些类似乎可以完成非常相似的操作。这是事情的方向吗?或者将来会有一个mixin关键字吗?

0 个答案:

没有答案