Почему мой цикл for не работает с моими свойствами Javascript?

Я создал этот объект и его свойства:

var obj = {};

Object.defineProperty( obj, "value", {
  value: true,
  writable: false,
  enumerable: true,
  configurable: true
});

var name = "John";

Object.defineProperty( obj, "name", {
  get: function(){ return name; },
  set: function(value){ name = value; }
});

Затем я вызываю для них цикл for:

for ( var prop in obj ) {
  console.log( prop );
}

Который, согласно моему руководству, должен давать следующие результаты:

value
name

Но вместо этого он только отображает значение. Почему имя не отображается?

5
задан Andreas Wong 17 April 2012 в 03:27
поделиться