在mysqljs中,连接查询的返回值打印为
[ RowDataPacket { column: "value" } ]
相当于[ { column: "value" } ]
。
图书馆如何为{ column: "value" }
对象提供"名称" RowDataPacket
?
我认为这可能与课程有关,但下面没有工作
class RowDataPacket {
constructor() {
self.column = "value";
}
}
console.log(new RowDataPacket())
答案 0 :(得分:1)
您的class
解决方案 无论如何都可以在Chrome的devtools中运行;不是,它似乎在Firefox的devtools中。 (请注意,您在self
constructor
中使用了this
,但是它不会影响devtools中的结果,除了属性不在那里。)
class RowDataPacket {
constructor() {
this.column = "value";
}
}
console.log("one", new RowDataPacket());
console.log("array of one", [new RowDataPacket()]);
(Look in the real console.)
如果您愿意,可以进一步使用它,并通过设置{{3}使用的对象的@@toStringTag
(例如,类的原型),将其应用于单个对象。在为对象构建[object XYZ]
字符串时,某些devtools也使用它来标识对象的“类型”:
const myObject = {};
myObject[Symbol.toStringTag] = "myObject";
console.log(myObject);
console.log("Default toString", String(myObject));
(Look in the real console.)
在类原型上使用它的示例:
class RowDataPacket {
}
RowDataPacket.prototype[Symbol.toStringTag] = RowDataPacket.name;
console.log("one", new RowDataPacket());
console.log("Default toString", String(new RowDataPacket()));
Look in the real console.