Javascript 为什么';日期()';返回字符串?
在做东西的时候,我不小心写了Javascript 为什么';日期()';返回字符串?,javascript,Javascript,在做东西的时候,我不小心写了 const today=Date() 而不是 const today=新日期() 并且惊奇地发现这是有效的语法,而今天的类型是字符串。此外,Date()==new Date().toString()返回true 我在MDN文档中找不到与此相关的任何内容,为什么会发生这种情况?MDN行为位于顶部“语法”部分的正下方: 注意:实例化新日期对象的唯一正确方法是使用new操作符。如果直接调用Date对象,例如now=Date(),则返回的值是字符串而不是日期对象 规范中
const today=Date()
而不是
const today=新日期()
并且惊奇地发现这是有效的语法,而今天的类型是字符串。此外,Date()==new Date().toString()
返回true
我在MDN文档中找不到与此相关的任何内容,为什么会发生这种情况?MDN行为位于顶部“语法”部分的正下方:
注意:实例化新日期对象的唯一正确方法是使用new操作符。如果直接调用Date对象,例如now=Date(),则返回的值是字符串而不是日期对象
规范中对其进行了描述:
如果NewTarget未定义,则
a。现在,让我们以时间值(UTC)表示当前时间
b。返回ToDateString(现在)
顶部“语法”部分正下方的MDN行为:
注意:实例化新日期对象的唯一正确方法是使用new操作符。如果直接调用Date对象,例如now=Date(),则返回的值是字符串而不是日期对象
规范中对其进行了描述:
如果NewTarget未定义,则
a。现在,让我们以时间值(UTC)表示当前时间
b。返回ToDateString(现在)
当您在内部调用Date()
时已应答(新日期())。将调用toString()
。尝试运行(新日期())。当您在内部调用Date()
(新日期())时,toString()==Date()
已应答。toString()
已被调用。尝试运行(新日期())。toString()==日期()