簡體   English   中英

無法讀取未定義打字稿的屬性“ push”

[英]Cannot read property 'push' of undefined typescript

我試圖將日期對象推入數組,但出現此錯誤“無法讀取未定義的屬性'push'”。

export class CalendarComponent { 
days: Date[]

showMonths() {

 const interval = new Interval();

    interval.fromMonth  = this.selectedFromMonth.number;
    interval.fromYear = this.selectedFromYear.number;
    interval.toMonth = this.selectedToMonth.number;
    interval.toYear = this.selectedToYear.number;

    for (let i = interval.fromMonth - 1; i < 11; i++) {
      const day = new Date(interval.fromYear, i, 1);
       this.days.push(day);
      // console.log(day);
      // days.push(day);
    }

    // console.log(day);
}

如果'days'已經是一個數組並且'day'不是undefined,為什么會出現此錯誤?

您需要初始化您的屬性。 您剛剛設置了它的類型,但是實際上它是undefined

days: Date[] = [];

靜態打字是打字稿的未來,當您將代碼編譯為javascript打字時,這將對開發人員在構建期間的幫助不復存在。

days: Date[]是一樣的,你SA days初始值是不確定的

var days;

console.log(days); // => undefined

那就是為什么在使用它之前需要確定天數來[]空數組

days: Date[] = [];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM