Parce qu'en faisant cela :
("obj"+"\n"+obj)
Vous transformez l'objet en chaîne de caractères sans pour autant le stringifier.
essayer
const obj = new Object()
obj.firstName = 'Jack'
obj.lastName = 'Reacher'
obj.isTrue = true
obj.greet = function(){
console.log('hi')
}
console.log(obj)//getting all the members
console.log("obj"+"\n"+JSON.stringify(obj))// not getting any member
Mise à jour - Regarder de plus près
Vous avez aussi une fonction qui ne sera pas stringifiée avec JSON.stringify()
à moins que vous ne le traitiez d'abord comme tel :
const obj = new Object()
obj.firstName = 'Jack'
obj.lastName = 'Reacher'
obj.isTrue = true
obj.greet = function() {
console.log('hi')
}
console.log(obj)
// DEALING WITH FUNCTION
obj.greet = obj.greet.toString();
console.log("obj" + "\n" + JSON.stringify(obj))