我正在尝试使用从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 [],但出现相同的错误。
我该怎么办?
答案 0 :(得分:4)
number[]
语法只是设置变量的类型,而不是值。打字稿类型在运行时被删除。运行代码时,testYears
从未用实际值定义,因此也没有定义。
要解决此问题,只需将testYears
定义为
public testYears: number[] = [];
这样,testYears
既有类型(number[]
)也有值([]
)