私はTypeScriptを初めて使用しており、基本クラスのインスタンス化に問題があります。Typescriptクラスのインスタンス化エラー(コンストラクタではないエラー)
私は、その内部に宣言されたクラスRecordを持つNamespace RecordsServiceを持っています。私はRecordsService内でRecordsを作成し、他のメソッドなどからパブリックメソッドを使用してアクセスできるようにしたいと考えています。
export namespace RecordsService {
let records: Array<Record> = new Array();
function init() {
let record1 = new Record(new Date(), 1);
}
init();
export function getAllRecords() {
return records;
}
class Record {
constructor (public date: Date, public id: number) {
this.date = date;
this.id = id;
}
}
}
上記のいずれかのtranspilingエラーをスローしませんが、私はエラーが私はこのケースで新しいレコードを作成するにはどうすればよいlet record1 = new Record(new Date(), 1);
ある
以下の行を使用してコンソールのエラーを取得する実行したとき?TypeError: Record is not a constructor(…)
Plunker、エラーを参照するには、ビューコンソールログ:
class Record {
constructor (public date: Date, public id: number) {
this.date = date;
this.id = id;
}
}
let records: Array<Record> = new Array();
function init() {
let record1 = new Record(new Date(), 1);
}
init();
それともRecord
の定義の後init
関数を呼び出す:あなたはinit
機能の上であるためにあなたのRecord
クラスを移動する必要がhttps://plnkr.co/edit/FNk8b1ZwA5HL3I7wAnTq?p=preview
おかげで、エラーは私が知っているが、考えていないばかげたことです –