Swadon Swadon - 1 month ago 10
Javascript Question

Get parent class name from child with ES6?

I would like to get the parent class name (

Parent
), but I'm only able to retrieve the child class name with this code (
Child
)...



'use strict';

class Parent {

}

class Child extends Parent {

}

var instance = new Child();
console.log(instance.constructor.name);





Is it possible ?

Thanks !

Answer

ES6 classes inherit from each other. So when instance.constructor refers to the Child, then you can use Object.getPrototypeOf(instance.constructor) to get the Parent, and then access .name:

Object.getPrototypeOf(instance.constructor).name == "Parent";

Of course, full ES6 compliance and non-minified code are necessary for this to work. You should never rely on function names in code.

Comments