使用模板文字

时间:2017-06-16 20:08:51

标签: javascript ecmascript-6 template-literals

我想在控制台中显示简单的对象

var obj = { name: 'John', age: 22 }

如果我输入:

console.log(obj)

对象{name:“John”,年龄:22}

如果我输入:

console.log('my object is: ' + obj)

我的对象是:[object Object]

console.log('my object is: %o', obj)

我的对象是:对象{name:“John”,年龄:22}

如何使用模板文字实现此目的?

如果我输入:

console.log(`my object is: ${obj}`)

我的对象是:[object Object]

2 个答案:

答案 0 :(得分:15)

您可以使用JSON.stringify序列化对象。

var obj = { name: 'John', age: 22 };
console.log(`my object is: ${JSON.stringify(obj)}`);

答案 1 :(得分:0)



var obj = { name: 'John', age: 22 }
log`This is obj: ${obj}`

function log(strings, ...values) {
   console.log(strings.reduce((p, c, i) => 
        `${p}${c}${values[i]?JSON.stringify(values[i]):''}`, ''));
}