Как узнать название класса на JavaScript

12 февраля, 2023
1 минута чтения

Дано: абстрактный класс, в методе которого нужно получать название имплементированного класса.

Для этого, в методе нужно обращаться к прототипу текущего класса через функцию Object.getPrototypeOf. Например:

class Foo {
  test() {
    const instanceProto = Object.getPrototypeOf(this);
    console.log(instanceProto.constructor.name);
  }
}

Теперь, имплементируем класс Foo в класс Ping:

class Ping extends Foo {
  constructor() {
  }
}

Теперь при создании нового экземпляра, метод test будет выдавать имя наследуемого класса:

var example = new Ping()
example.test() // выведет Ping

Таким способом, можно упростить код, перенеся его в абстрактный класс.

Денис Сергеевич Басковский

Философ, изобретатель и поэт.

Добавить комментарий Отменить ответ

Предыдущая статья

Простой Stream Response на Express

Следующая статья

Заменяем значение TextNode средствами CSS

Exit mobile version