учитывая эти два класса
class Foo{
f1;
get f2(){
return "a";
}
}
class Bar extends Foo {
b1;
get b2(){
return "a";
}
}
let bar = new Bar();
Какой код доставит мне этот список свойств из экземпляра bar
? ['f1', 'f2', 'b1', 'b2']
Обновить
Это должно быть частью ответа @Marc C:
Используя декоратор, я могу легко превратить неперечислимое свойство в перечисляемое свойство:
class Bar extends Foo {
@enumerable()
get b2(){
return "a";
}
}
Вот исходник декоратора:
function enumerable() {
return function(target, key, descriptor) {
if (descriptor) {
descriptor.enumerable = true;
}
};
}