Ho una classe ES6 (inclusa con babeljs) con una proprietà getter. Comprendo che queste proprietà non sono enumerabili per impostazione predefinita. Comunque, io non capisco perché io non sono in grado di rendere la proprietà enumerabile utilizzando Object.defineProperty
Impostazione di un getter classe ES6 a enumerabile
// Declare class
class Person {
constructor(myName) {
this.name = myName;
}
get greeting() {
return `Hello, I'm ${this.name}`;
}
}
// Make enumerable (doesn't work)
Object.defineProperty(Person, 'greeting', {enumerable: true});
// Create an instance and get enumerable properties
var person = new Person('Billy');
var enumerableProperties = Object.keys(person);
// => ['name']
Definirlo sull'oggetto prototipo. 'Object.defineProperty (Person.prototype, ...)' – Louy
@Louy stesso plunker con il tuo suggerimento - nessuna modifica: http://plnkr.co/edit/QkQ1JbFEjAAOIFPCtPk7?p=preview – lightswitch05