Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.11.2020, 10:49
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Есть еще один способ добраться из базового класса, до класса самого верхнего наследника.
this.constructor
Причем, это прокатывает даже в определении полей, в отличие от new.target, который работает только непосредственно в конструкторе

/**
 * @abstract
 */
class AbstractHttpService {
    baseRouteName = this.constructor.baseRouteName;
      
    constructor(baseRouteName) {
        if (baseRouteName)  this.baseRouteName = baseRouteName;
    }
}
  
class ProductsHttpService extends AbstractHttpService {
    static baseRouteName = 'product';
}
 
let x = new ProductsHttpService ()
console.log (x.baseRouteName)

Последний раз редактировалось voraa, 26.11.2020 в 11:01.
Ответить с цитированием
  #12 (permalink)  
Старый 26.11.2020, 12:29
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

может, так?
class AbstractHttpService {
    get baseRouteName() {
        return '';
    }
}
  
class ProductsHttpService extends AbstractHttpService {
    get baseRouteName() {
        return 'product';
    }
}
 
let x = new ProductsHttpService ()
console.log (x.baseRouteName)
Ответить с цитированием
  #13 (permalink)  
Старый 26.11.2020, 13:02
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Ну если сеттера не нужно.
А если нужен, то надо где то хранить значение. И опять проблема, как установить начальное.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические элементы формы rustleofstars Элементы интерфейса 5 18.10.2019 19:57
ES6. Create class instance by name Nexus Общие вопросы Javascript 9 17.10.2018 16:50
Выполнение <script> При определенном class ilya1099 Javascript под браузер 0 06.11.2016 23:12
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
Как работает функция Class godofjavascript Оффтопик 58 17.12.2012 09:49