Некий сумбур вопроса без примеров кода попробую разобрать, отталкиваясь от знаков вопроса.
У всех (ну, почти) объектов в JavaScript в корне цепочки наследования — глобальный
Object. У прототипа которого есть свойство
constructor. Это ссылка на функцию, создавшую сей инстанс.
У
функций в JavaScript есть свойство
name.
Не важно, как именно создан объект. Если он — объект, у него, скорее всего, есть конструктор:
const el = document.createElement('div');
el.constructor.name // "HTMLDivElement"
А вот с классом
class Habr {
constructor(q) {
this.q = q;
}
}
const h = new Habr('есть конструктор?');
h.constructor.name // "Habr"