令我惊讶的是,以下内容会引发错误。看来提供的输入类型是字符串,而不是我期望的日期。怎么会这样?
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() + "";
...
}
最佳答案
Javascript 是一种弱类型编程语言。这意味着在运行时不会进行类型检查。由于 Typescript 被编译为 Javascript,因此在运行时不会检查变量类型“Date”,这意味着它仍然可以是任何类型。
关于angular - 为什么 Angular 不遵守方法签名中明确要求的 Date 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48158029/