Будет ли когда-нибудь ключевое слово Typescript `mixin`? - PullRequest
0 голосов
/ 25 апреля 2018

Я читал о миксинах в Typescript, пытаясь найти лучший метод композиции, чем расширение класса.У меня получилось несколько классных вещей.Но я всегда создаю функции, которые выглядят так:

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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...