Лайфхак по созданию нового класса
...в зависимости от условий, на основе заготовленного словарика
by shurikation
JavaScript
//Урок 4 - Шапошников 16-17 минута - разбор ДЗ и про это в частности:
//Лайфхак - создание словарика для того, чтобы создать новый класс в зависимости от входящих данных,условий, и чо надо в данный момент
//Дочернние классы
class ProductItem {
}
//...
class CartItem {
}
//Создание словарика вне {} всех классов:
const list = {
ProductList: ProductItem,
Cart: CartItem
}
//В зависимости от того ProductItem или CartItem - будет вызываться метод создания в базовом классе Item, который принимает ProductItem или CartItem в качестве аргумента list - будет создан или новый ProductItem или CartItem. Мы сслаемся на словарик в базовом классе, который создали в дочернем классе, например.
//Базовый класс:
class Item {
constructor(img, url, list) {
//...
this.list = list; //ProductItem или CartItem на вход принимаем
}
//...
render() {
//...
const productObj = new this.list[this.constructor.name](); //В зависимости от параметра на входе гененируем нужный нам хоть любой класс автоматически, а не вручную
}
}