javascript通过console.log使getters可见

时间:2018-06-12 20:55:51

标签: javascript ecmascript-6 getter

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

enter image description here

我希望它在控制台中以这样的方式打印:{ 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 }

1 个答案:

答案 0 :(得分:1)

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

var obj = {};

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

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