创建类的类型化数组子类成员

时间:2018-01-09 05:01:19

标签: arrays typescript

我想创建一个类型化数组来添加方法。例如,在下面的示例中。我通过扩展Array来创建TenantArray。好像我可以将对象推入其中,但是如果我尝试在TenantArray上调用一个函数,我会得到一个错误,说它不是函数。如果我尝试记录函数的值,我将得到未定义。任何人都可以给我一些洞察我错过的东西。这是一个愚蠢的方法吗?我是否应该使用租户数组和调用它的函数来创建一个人口类?

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());

0 个答案:

没有答案