我注意到有时候我会console.log一个对象,我会得到对象字面量,有时它似乎是console.logged的前缀。
例如,如果我先将一个console.log对象发送到服务器,然后得到:
{id: 18, date: "2017-09-13T21:59:59.999Z"...etc}
但是,当我从服务器调用中返回作为承诺返回的同一日志时,我得到:
Resource {id: 18, date: "2017-09-13T21:59:59.999Z"...etc}
是什么原因导致这种差异?和似乎是对象的两种不同表示形式之间的区别是什么?
后者是命名类的实例:
class Resource {
constructor() {
this.id = ...;
this.date = ...;
}
}
或命名构造函数:
function Resource() {
this.id = ...;
this.date = ...;
}
在这两种情况下,都使用new
关键字实例化了类或构造函数,但这class
是更新的ES6语法。
console.log(new Resource())
您的第一个示例只是一个没有构造函数的普通对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句