javascript 通过 console.log 使 getter 可见

javascript make getters visible via console.log

如何使 console.log() 显示所有 getter 属性?现在,这会打印 {} 并带有一个箭头来打开它:

我希望它在控制台中像这样打印:{ foo: 1 }

var obj = {};

Object.defineProperty(obj, 'foo', {
  enumerable: true,
  get: function(){
    return 1
  }
});

console.log(obj) // this outputs empty object {}, i want it to output { foo: 1 }

您正在搜索的内容似乎是 JSON.stringify(),它创建了一个 JSON 格式的字符串。

var obj = {};

Object.defineProperty(obj, 'foo', {
  enumerable: true,
  get: function() {
    return 1
  }
});

console.log(JSON.stringify(obj));