【问题标题】:What kind of empty Javascript Object is this?这是什么类型的空 Javascript 对象?
【发布时间】:2019-02-20 15:12:31
【问题描述】:

下面使用属性 date 扩展的对象“0”本身就是一个对象,但扩展时该对象是空的,除了 proto 对象。灰色的日期是什么?它看起来不像对象的键,因为“日期”应该是键。

我正在尝试复制此对象,但不知道发生了什么或发生了什么。

【问题讨论】:

  • 这正是 Chrome 在开发者控制台的对象内显示日期的方式。在您的控制台中输入{ date: new Date() },您将看到相同的内容。
  • @SergeK。那么为什么上面的对象不这样做呢?如何将上述日期属性转换为以下日期属性?
  • 因为它不是日期,而是日期的字符串表示形式。
  • @SergeK。好,谢谢。如何将上述字符串转换为如下所示的日期属性?
  • 这正是您从 .toString() 方法中得到的结果。

标签: javascript date object ecmascript-6


【解决方案1】:

灰色部分是控制台中 Date 对象的直接表示的一部分 - 就像它为您的数组显示 Array(200) 一样。

在执行console.dir 时,您将获得与将对象作为另一个对象的属性时相同的表示。

在执行console.log 时,您将获得不同的表示形式,因为根据记录值的类型而不总是可扩展对象表示形式,它会显示不同的内容。

扩展时对象为空,除了 proto 对象。

是的,Date instances 没有任何自己的属性。时间戳值存储在 internal property 中,devtools 未显示该值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 2018-02-19
    • 2020-04-02
    相关资源
    最近更新 更多