我很惊讶以下引发了错误。似乎提供的输入的类型是 string 而不是,因为我期待 Date 。怎么样?
static datify(input: Date, format?: string): string {
if (!input)
return "";
const yyyy = input.getFullYear() + "";
...
}
我通过显式创建 Date 类型的对象来实现它,但它让我不得不这样做。另外,我担心通过添加这个实例,我已经介绍了一些我目前正在监督的其他问题。
static datify(input: Date, format?: string): string {
if (!input)
return "";
input = new Date(input);
const yyyy = input.getFullYear() + "";
...
}
答案 0 :(得分:2)
Javascript是一种弱类型编程语言。这意味着在运行时期间不进行类型检查。由于打字稿被编译成Javascript,变量类型"日期"在运行期间没有被检查,意味着,它仍然可以是任何类型。