使用模板文本的Javascript ES6 console.log对象
我想在控制台中显示一个简单的对象使用模板文本的Javascript ES6 console.log对象,javascript,ecmascript-6,template-literals,Javascript,Ecmascript 6,Template Literals,我想在控制台中显示一个简单的对象 var obj = { name: 'John', age: 22 } 如果我键入: console.log(obj) console.log('my object is: ' + obj) console.log(`my object is: ${obj}`) 对象{姓名:“约翰”,年龄:22} 如果我键入: console.log(obj) console.log('my object is: ' + obj) console.log(`my o
var obj = { name: 'John', age: 22 }
如果我键入:
console.log(obj)
console.log('my object is: ' + obj)
console.log(`my object is: ${obj}`)
对象{姓名:“约翰”,年龄:22}
如果我键入:
console.log(obj)
console.log('my object is: ' + obj)
console.log(`my object is: ${obj}`)
我的目标是:[目标]
console.log('my object is: %o', obj)
我的对象是:对象{姓名:“约翰”,年龄:22}
如何使用模板文字实现这一点?
如果我键入:
console.log(obj)
console.log('my object is: ' + obj)
console.log(`my object is: ${obj}`)
我的对象是:[object object]您可以使用序列化对象
console.log('my object is: %o', obj)
var obj={name:'John',年龄:22};
log(`my object is:${JSON.stringify(obj)}`)代码>
var obj={name:'John',年龄:22}
log`This is obj:${obj}`
函数日志(字符串,…值){
console.log(strings.reduce((p,c,i)=>
`${p}${c}${values[i]?JSON.stringify(values[i]):'}','');
}
也可以这样做:console.log('我的对象是:',obj)代码>。模板本身并不擅长对对象进行字符串表示,因此不能仅从模板文本获得所需的输出。它们只是调用默认的字符串转换,这不是您想要的。您必须自己制作所需的字符串表示形式,并将其传递给文本。执行简单操作的方法太复杂了。被接受的答案符合目的。