alex4answ
@alex4answ

Как создать объект внутри этого же класса, new this()?

Добрый день, с других языков у меня осталась привычка, что можно сделать вот так:
class A  {
  constructor() {
    this.test = Math.random();
  }
  instance() {
    return new this();
  }
}
class B extends A {}

const b = new B(); // b.test = 0.3213123213154353
const c = b.instance(); // c.test = 0.43234871231123


Но в js это не работает, я знаю что можно создать если указать имя класса - return new A();, но мне нужно полиморфное поведение.

Подскажите пожалуйста, как это реализовать?
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
return new this.constructor();

??
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Sportrecs Москва
от 150 000 до 200 000 ₽
01 дек. 2020, в 23:18
80000 руб./за проект
01 дек. 2020, в 22:41
60000 руб./за проект
01 дек. 2020, в 21:24
500 руб./за проект