[英]Javascript How to print an object using string interpolation
有没有办法使用字符串插值方法打印对象?
const star = {
id: 1,
name: 'Arcturus',
visualMag: -0.05,
};
这个方法不行
console.log(`${star}`); // [object Object]
这有效
console.log(`${star.name}`); // 'Arcturus'
只需使用 console.log(star) 即可
嘿,做这个简单的把戏:
console.log({star});
输出:
[Log] {star: {id: 1, name: "Arcturus", visualMag: -0.05}}
您可以使用 JSON.stringify
console.log(`${JSON.stringify(test)}`)
当您在模板字面量中使用对象时,它会将对象强制转换为字符串。 它在对象上寻找toString
方法。 如果没有找到,它将使用Object.prototype.toString
方法返回"[object Object]"
。
因此,向对象添加toString
属性。
const star = { id: 1, name: 'Arcturus', visualMag: -0.05, }; Object.defineProperty(star, "toString", { value: function() { return JSON.stringify(this) } }) console.log(`${star}`);
注意:您可以直接添加star.toString = function() { ... }
。 但是,这会向对象添加一个可枚举属性,并且会在您直接记录对象时显示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.