0
クラスのタイプコンストラクタ関数。活字体:私は単に引数としてクラスを取る関数を作成したい
クラスのタイプコンストラクタ関数。活字体:私は単に引数としてクラスを取る関数を作成したい
あなたは右のクラスのコンストラクタを返すためにジェネリックを使用することができます。
const mixin = (traits: any) =>
<T>(baseClass: { new(): T }) => {
Object.assign(baseClass.prototype, traits);
return baseClass;
}
class A {}
let o = mixin({})(A); // typeof o is new() => A
let a = new o(); // typeof a is A
おかげで、それが動作します。しかし、私はまだいくつかの問題に直面しています: 'mixin(スピーカー)(クラス{})'は動作しますが、 'mixin(スピーカー)(クラスはMammal {}を拡張)'は動作しません。 何か不足していますか? – kube
申し訳ありませんが、何か悪いことをしていました。完璧に動作します。ありがとう。 – kube