170 похожих чатов

Всем здравствуйте. Подскажите можно ли в JS перебрать всех наследников

суперкласса.

Например есть класс Animal. Есть классы
Bird extends Animal.
Dog extends Animal.

С объекта Animal могу как то перебрать всех наследников ?)

34 ответов

29 просмотров

если в Animal обратится к this, это будет Bird/Dog

а как возникла такая задача? обычно предки не должны знать ничего о потомках

посмотри как устроен браузерный DOM

это фронт, боюсь даже смотреть туда как он устроен?

api сосредоточено в корневом типе Node, неследники только поразному его реализуют

class Animal { static children = []; constructor() { Animal.children.push(this); } } что-то вроде этого, только надо проверить ещё таргет

ㅤ-ㅤ Автор вопроса

Долго расписывать. Но соглашусь с сообщение о DOM браузера)

корень знает о наследниках?

ㅤ-ㅤ Автор вопроса

Да, спасибо большое. Тоже думал об этом. Но была Надежда что есть встроенные в js-синтаксис решения

Node знает про все классы наследники? Нет там такого.

в том смысле знает что имеет методы создания элементов, атрибутов, фрагментов текста

так вообще можно описать абстрактный базовый класс или factory method (частный случай реализации абстрактного класса), например но обычно предок же не знает о наследниках, он просто задаёт интерфейс, контракт

потому браузерный DOM наглядный пример такой своеобразной иерархии, других примеров не вспомню

Браузерный дом это вообще не про наследование, это дерево

удобно же когда в дереве корень ветви и листья являются экземплярами одноги типа и имеют общее api

Ну может быть, но тогда откуда факты что их предки стучаться к последнему классу

это composite по gof что ли?

у ветки может быть метод, который возвращает новую ветку или новый лист, в листе те же медоды вогут делать throw new TypeError() например

не интересуюсь названиями паттернов, это больше запутывает чем помогает

удачи, держитесь там)

Это к стати живой пример. Человек на асамблере писал, но это его не сделало «маршалом жс девелопером».

хм в этом же весь смысл - иметь каталог решений там одна из целей - как раз упрощение коммуникации между разработчиками чтобы когда ты описываешь что-то, я мог сказать "это композит?", и ты ответить "да" - и всё, не надо никаких многословных объяснений ну и в целом знать этот каталог надо, чтобы велосипеды более уместные конструировать

раз такой спец, дай названия паттернам, которые применяются тут https://github.com/Svoloch/etc-js/blob/master/function.coffee

это приказ?)

😅 ну я про асамблер и не упоминал))) Если это вы в мой огород кидаться камням решили 😄

а разве не все подряд писали когда-то на ассемблере? или имеется в виду коммерческая разработка, сайты-визитки и всякое такое?

Да 😄

там буковки странные, доллары, собаки - то ли недоперл, то ли перепхп

После курсов жс за 2 недели? Думаю далеко не все. Это время уже давно прошло.

Ну вот.

ожидали увидеть длинные понятные названия в стиле ООП a-la EntityFactoryCreationObserverFacade? хер вам!

сам язык был создан рубистом, но получился получше чем ruby да и ES6 многое перенял оттуда

аяяяй 😊 да я, да вас, да я... да я вас по стенке размажу! уууу! ажпичот 😈🤣

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта