を構築し、私は、このセットアップを持って表現して「新しい」を使用することはできません。私は何をしようとしているは、クラスレジストリの構築:そのタイプのコールが欠けているか、署名
//./things/Base.ts
export default class Base{
constructor(){
console.log("HI I AM A BASE THING");
}
}
//things.ts
import Base = require('./things/Base');
export = {
defaultThing: Base
};
//entry.ts
import Things = require('./things');
new Things.defaultThing();
はキーで辞書を構築しています私は与えられた型のクラスが必要なので、消費するコードに触れることなく、基本的な実装を変更することができます。これは次のメッセージで失敗します
λ tsc entry.ts
entry.ts(3,1): error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.
なぜこれが適切なイディオムですか?
ニース!なぜそれが起こるか知っていますか?私はイディオムがあなたの提案された解決法と同じように働く印象を受けました –
私は説明を見つけたと思う - それを答えに加えました – artem