JavaScript делает геттер видимым через console.log - PullRequest
0 голосов
/ 12 июня 2018

Как заставить console.log() отображать все свойства геттера?Прямо сейчас, это печатает {} со стрелкой, чтобы открыть это:

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 голосов
/ 13 июня 2018

Похоже, что вы ищете JSON.stringify(), который создает строку в формате JSON.

var obj = {};

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

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