gegeben diese beiden KlassenWie iterieren Eigenschaften einer ES6/2015 Klasseninstanz
class Foo{
f1;
get f2(){
return "a";
}
}
class Bar extends Foo {
b1;
get b2(){
return "a";
}
}
let bar = new Bar();
Welcher Code wird mir diese Liste von Eigenschaften aus der bar
Instanz bekommen? ['f1', 'f2', 'b1', 'b2']
aktualisiert
Dies sollte Teil der @Marc C Antwort sein:
einen Dekorateur verwendet ich leicht eine nicht zählbare Eigenschaft in eine zählbare Eigenschaft drehen kann:
class Bar extends Foo {
@enumerable()
get b2(){
return "a";
}
}
Hier ist der Dekorateur Quelle:
function enumerable() {
return function(target, key, descriptor) {
if (descriptor) {
descriptor.enumerable = true;
}
};
}
Dies scheint ehrlich wie ein dup von http://stackoverflow.com/questions/31054910/get-functions-of-a-class. Es gibt keinen Grund, die Eigenschaften aufzählbar zu machen. – loganfsmyth
[tag: babel]: * "Python Internationalisierungs-Bibliothek mit einem Schwerpunkt auf Web-basierte Anwendungen. Für Fragen über die JavaScript-Bibliothek verwenden Sie bitte [Babeljs]." * –