web-dev-qa-db-ja.com

テンプレートリテラルを使用したJavaScript ES6 console.logオブジェクト

コンソールに表示したいシンプルなオブジェクトがあります

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

入力すると:

console.log(obj)

オブジェクト{名前: "John"、年齢:22}

入力すると:

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

私のオブジェクトは:[object Object]

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

私のオブジェクトは:Object {name: "John"、age:22}

テンプレートリテラルを使用してこれを実現するにはどうすればよいですか?

入力すると:

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

私のオブジェクトは:[object Object]

8
robert

JSON.stringify

var obj = { name: 'John', age: 22 };
console.log(`my object is: ${JSON.stringify(obj)}`);
20
Nina Scholz
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]):''}`, ''));
}
0
Ben Aston