有沒有辦法使用字串插值方法列印物件?
const star = {
id: 1,
name: 'Arcturus',
visualMag: -0.05,
};
這個方法不行
console.log(`${star}`); // [object Object]
這有效
console.log(`${star.name}`); // 'Arcturus'
只需使用 console.log(star) 即可
uj5u.com熱心網友回復:
嘿,做這個簡單的把戲:
console.log({star});
輸出:
[Log] {star: {id: 1, name: "Arcturus", visualMag: -0.05}}
uj5u.com熱心網友回復:
您可以使用 JSON.stringify
console.log(`${JSON.stringify(test)}`)
uj5u.com熱心網友回復:
當您在模板文字中使用物件時,它會將物件強制轉換為字串。它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() { ... }. 但是,這會向物件添加一個可列舉屬性,并且會在您直接記錄物件時顯示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/354019.html
標籤:javascript 目的 javascript对象 字符串插值
下一篇:如何更改類中屬性的值?
