簡體   English   中英

無法讀取未定義數組的屬性“推”

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

我正在嘗試使用從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 [],但出現了相同的錯誤。

我該怎么辦?

number[]語法只是設置變量的類型,而不是值。 打字稿類型在運行時被刪除。 運行代碼時,從未使用實際值定義testYears ,因此未定義。

要修復,只需將testYears定義為

public testYears: number[] = [];

這樣, testYears同時具有類型( number[] )和值( []

暫無
暫無

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

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