TypeScript - クラスのメンバーである型付き配列サブクラスを作成する
型付き配列を作成して、そこにメソッドを追加したいと考えています。例えば、以下の例のようにです。Arrayを拡張してTenantArrayを作成します。オブジェクトをプッシュすることなどはできるようですが、TenantArray上で関数を呼び出そうとすると、それが関数ではないというエラーが出ます。関数自体の値をログに出そうとするとundefinedになります。どなたか、私が見落としていることについて教えていただけますか?これは愚かな方法でしょうか?もしかすると、テナント配列とその配列に作用する関数を持つPopulationクラスを作るべきでしょうか?
class Manor {
name: string;
tenants: Tenants;
constructor() {
this.name = '';
this.tenants = new Tenants();
}
}
interface ITenant {
acres: number
}
class Tenants extends Array<ITenant> {
totalAcres(): number {
let total = 0;
for (const tenant of this) {
total += tenant.acres;
}
return total;
}
}
const myManor = new Manor();
console.log(myManor.tenants.totalAcres());