web-dev-qa-db-fra.com

Objet Javascript ES6 console.log utilisant le modèle littéral

J'ai un objet simple que je veux afficher dans la console

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

Si je tape:

console.log(obj)

Objet {nom: "John", âge: 22}

Si je tape:

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

mon objet est: [objet Objet]

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

mon objet est: Objet {nom: "John", age: 22}

Comment est-ce que je peux réaliser ceci en utilisant un modèle littéral?

Si je tape:

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

mon objet est: [objet Objet]

7
robert

Vous pouvez sérialiser l'objet avec JSON.stringify .

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

14
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