从子类本身获取父类名称,而不是它的实例,可以通过以下方式实现:
在JavaScript中,可以使用Object.getPrototypeOf()
方法来获取一个对象的原型(即父类)。然后,可以使用Object.getPrototypeOf()
方法再次获取父类的原型,直到获取到最顶层的原型(Object.prototype)。最后,可以使用constructor.name
属性来获取原型的名称。
下面是一个示例代码:
function Parent() {}
function Child() {}
Child.prototype = Object.create(Parent.prototype);
Child.prototype.constructor = Child;
// 获取子类的原型
var childPrototype = Child.prototype;
// 获取父类的原型
var parentPrototype = Object.getPrototypeOf(childPrototype);
// 获取父类的名称
var parentName = parentPrototype.constructor.name;
console.log(parentName); // 输出 "Parent"
在上面的示例中,我们定义了一个父类Parent
和一个子类Child
。通过将子类的原型设置为父类的原型,并将子类的构造函数设置为子类本身,我们创建了一个继承关系。
然后,我们使用Object.getPrototypeOf()
方法获取子类的原型,并再次使用该方法获取父类的原型。最后,我们使用constructor.name
属性获取父类的名称,并将其打印到控制台上。
这样,我们就可以从子类本身获取父类的名称,而不是通过实例来获取。
领取专属 10元无门槛券
手把手带您无忧上云