У меня есть класс ES6 (transcompiled with babeljs) с свойством getter. Я понимаю, что эти свойства по умолчанию не перечислимы. Однако я не понимаю, почему я не могу сделать свойство перечислимым, используя Object.defineProperty
// 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']