私はTypeScriptを初めて使用しています。TS2511:抽象クラス 'Validator'のインスタンスを作成できません
どのようにこのエラーメッセージが表示されますか?
私は抽象クラスを初期化するつもりはありません。 validatorMapディクショナリでIsEmptyValidatorという具象クラスを初期化しようとしています。
TS2511:抽象クラスのインスタンスを作成することはできませんあなたがこれを行う必要がありますので、あなたの辞書には、インスタンス
Validator
それのクラスを持っていない「バリ」
interface Dictionary<T> {
[key: string]: T;
}
abstract class Validator {
constructor() {
console.log("super");
}
}
class IsEmptyValidator extends Validator {
public validate() {}
constructor(){
super();
console.log("isEmpty");
}
}
class ValidatorFactory {
private validatorMap: Dictionary<Validator> = {
"isEmpty": IsEmptyValidator
};
constructor() { }
public create(validatorType: string) {
let validatorToCreate: Validator = new this.validatorMap[validatorType];
return validatorToCreate;
}
}
お楽しみいただけますhttp://formstate.github.io/ – basarat