angular - 为什么 Angular 不遵守方法签名中明确要求的 Date 类型?

标签 angular date types

令我惊讶的是,以下内容会引发错误。看来提供的输入类型是字符串,而不是我期望的日期。怎么会这样?

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/

相关文章:

python 获取文件的时间戳,格式为 mm/dd/yyyy-HH :MM format

sorting - ElasticSearch 5.x在文本字段问题上排序

Typescript - 为什么不能推断出这个字符串文字类型?

Angular 2移动元素动画

Angular 2 : how do I detect attribute changes to input attributes on a Component?

javascript - 将 Angular MatDialog 居中

sql-server - 哪种数据类型最适合在 SQL Server 中存储注释?

angular - Electron Angular2(angular-cli)要求内部模块失败

android - 在 Android 中比较日期(时间)的问题

javascript - getDay() 方法 javascript 的问题