new Date(null)
// Date 1970-01-01T00:00:00.000Z
为什么当我在 JavaScript 控制台中键入 new Date(null)
时,我得到了
Date 1970-01-01T00:00:00.000Z
?
原文由 Baikuntha 发布,翻译遵循 CC BY-SA 4.0 许可协议
new Date(null)
// Date 1970-01-01T00:00:00.000Z
为什么当我在 JavaScript 控制台中键入 new Date(null)
时,我得到了
Date 1970-01-01T00:00:00.000Z
?
原文由 Baikuntha 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
因为 ECMAScript 2017 标准是这么说的?
ECMA 第 20.3.1.1 节的结尾声称:
…这可能会让您说,“…但是!,但是!我没有说 +0,我说了”:
好的,让我们按照那个标准…
该 Date 构造函数示例转到 第 20.3.2.2 节,其中 第 3.b.iii 项说:
ToNumber 是一个超链接,因此请按照该链接转到第 7.1.3 节,其中有一个数字转换表显示:
所以:
有效地变成:
这就是为什么你最终得到: