Ho una classe e un'altra classe che estende quella classe.Ottieni il nome della superclasse in ES6
class Shape {
constructor() {
return this;
}
}
class Circle extends Shape {
constructor() {
super();
return this;
}
}
let foo = new Circle();
posso ottenere la classe di foo con
let className = foo.constructor.name
// returns string 'Circle'
è possibile ottenere il nome della superclasse di foo ('Shape') in modo simile?
'foo .__ proto __. Constructor.name'? Penso che "__proto__" sia stato standardizzato, anche. –
Questo ti darebbe una classe genitore ma non necessariamente la classe che l'oggetto estendeva direttamente, o quella estesa in origine. – joshstrike
Grazie Jan - questo mi restituisce la classe originale, ma foo.__proto__.__proto__.constructor.name lo ottiene. – joelg