js報錯:TypeError: Date is not a constructor

ozoZai發表於2020-11-24

前言

半夜敲程式碼總是容易出bug,就在剛剛又出了個小bug,把我整蒙了。

我在寫一個時間格式化的函式,需要先new Date()

  let date = new Date(timeStamp);

單純看上面的程式碼是沒有問題的,但執行的時候就報錯

在這裡插入圖片描述
我尋思著,這必不可能阿!!我還各種嘗試都還是報錯。

後來我看著這段程式碼,感覺哪裡不太對勁

我記得平時的時候Date是綠色的,像下面這樣

在這裡插入圖片描述
但是現在卻是這樣的↓

在這裡插入圖片描述

這時可能已經有人發現了,原來是我下面宣告瞭一個Date,然後在這個作用域裡,
const Date會有變數提升,所以我上面new Date的時候,這個Date是我自己宣告的Date,而不是js中的Date,然後就報錯說Date不是一個建構函式。

解決方法

const Date = date.getDate()
改成 const Day = date.getDate()

總結

在用到時間模組Date的時候,記得不要自己宣告一個變數名為Date,要不然痛苦面具

相關文章