javascript - 新日期不是一个对象?

标签 javascript

很抱歉,按照我对对象的理解,new Date() 没有返回对象

来自the MDN article on Date constructor :

When no parameters are provided, the newly-created Date object represents the current date and time as of the time of instantiation.

(强调)

好吧,对象在哪里:

const date1 = new Date();
console.log(date1);
// returns Wed Jan 27 2021 15:45:31 GMT+0100

一个对象是

{date: "Wed Jan 27 2021 15:45:31 GMT+0100")}

但它看起来更像是一个字符串,但我们不能像字符串一样操作它,因为:

const date1 = new Date();
console.log(date1[0]); // expecting "W"
// returns undefined

我知道如何使用不同的时间方法来操纵这种特殊格式,但这对我来说一直是一个
这是什么格式?
另一种类型?
为什么构造函数new Date()没有返回对象

最佳答案

当调用new Date()时,您将获得一个日期对象。当调用 console.log(new Date()) 时,日期对象的 toString 方法将隐式被调用( not 100% true ,但你明白了)。控制台对象的工作方式是由您的浏览器/环境实现的。我的猜测是将日期显示为字符串是他们内置的一种便利。

就像其他人在评论中提到的那样,尝试 console.log(typeof new Date())/console.dir(new Date()) 或调用任何methods documented的。你会发现它绝对是一个对象。

关于javascript - 新日期不是一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65921555/

相关文章:

javascript - 按元素名称中的索引选择元素

javascript - 使用链接中的 <object > 或 &lt;iframe&gt; 重新加载页面

javascript - 如何在 ng-regex 中包含 qutoes + 双引号?

javascript - 在angularjs中获取模块名称及其所有依赖项列表

javascript - Mapbox 弹出窗口中的按钮未执行功能

javascript - 我怎样才能找到正在发送确认的内容?

javascript - 视频结束后重定向到随机网页

javascript - 如何获得 Kendo 组页脚模板名称的自定义名称?

javascript - 如何将文件上传到s3fs并获取公共(public)url?

javascript - 理解 Javascript 中的 "this"