前言
半夜敲代码总是容易出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,要不然痛苦面具