我有一个类,还有另一个继承自该类的类。
class Shape {
constructor() {
return this;
}
}
class Circle extends Shape {
constructor() {
super();
return this;
}
}
let foo = new Circle();
我可以通过以下方式获取foo的类:
let className = foo.constructor.name
// returns string 'Circle'
类似地,是否有可能以类似的方式获取foo的父类(“Shape”)的名称?
foo.__proto__.constructor.name
?我认为__proto__
已经被标准化了,甚至。 - John Dvorak__proto__
已经在Web浏览器的JavaScript引擎中标准化,仅作为向后兼容的事情。现代代码应该使用Object.getPrototypeOf
。 - T.J. Crowder