无法读取未定义数组的属性“推”

时间:2018-07-25 06:05:16

标签: arrays typescript

我正在尝试使用从2016年开始的数字填充数组,并在当年结束。

我的方法看起来像这样

  generateYears () {
    const currentDate = new Date();
    let y = 2016;
    console.log(currentDate.getFullYear());
    for (y = 2016; y <= currentDate.getFullYear(); y++) {
        this.testYears.push(y);
    }
    console.log(this.testYears);
  }

和testYears被声明为

  testYears: number[];

我尝试将其声明为any [],但出现相同的错误。

我该怎么办?

1 个答案:

答案 0 :(得分:4)

number[]语法只是设置变量的类型,而不是值。打字稿类型在运行时被删除。运行代码时,testYears从未用实际值定义,因此也没有定义。

要解决此问题,只需将testYears定义为

public testYears: number[] = [];

这样,testYears既有类型(number[])也有值([]