?
может не надо
И всё таки ?
MyClass.prototype.myMethod = function () {} наверное
@ts_cool
Это было слишком просто ,компилятор ругаться ,my method не существует в данном типе
Видимо только наследовать ...
Расскажите, задача какая у Вас?
Просто хочу добавить динамически метод в прототип конструктора ,например метод для объектов типа Observable
Может функцию просто сделать отдельную, которая будет объект на вход принимать?
В конечном итоге решить задачу я смогу,но в первые столкнулся с тем что добавление через прототип в ts не прокатит,вот и решил узнать а можно ли вообще в ts добавить метод объекту.
Что за метод и какую проблему он должен решать?
Обычно в норм ЯП чтобы расширить функционал чужой либы дописывают обертки или статические методы
в том же шурупе если класс sealed (который нельзя наследовать) есть методы расширения (по сути статик методы) или о чем проблема?
допустим я хочу к объектам типа observable добавить свой метод ,не важно что он будет делать ,сама суть
унаследовать? или вынести функцию куда-то просто чтобы было на подобии *статика*
Да это изначально очевидно было Просто я более чем уверен что проблема которая вас сподвигает на такие действия решается иначе
СОЛИД нарушать будешь если будешь классы изменять так как хочешь
Это будет работать когда я сам буду создавать объект,когда их создаст система это по прежнему будет базовый observable
Ну и выше написали, лучше унаследоватся Расширять внешние либы и даже нативные вещи - плохое решение
https://github.com/ReactiveX/rxjs/blob/5.x/src/add/observable/defer.ts вот так раньше делали (это плохо)
Наследование не вариант , метода не будет на объектах созданных не мной
композиция или статические методы (функции обычные то есть)
Плохо будет для поддержки кода, искать что за метод и откуда он взялся, если в прототип полезете
брось этот путь, путник и потрать свои силы на изучение действительно важных тем)
Если бы мы знали что за метод, какая у него семантика и зачем он нужен - это помогло бы не только вам но и нам
предлагаю в каждом отдельном лейзи модуле манкипатчит непредсказемое число методов обсервабла и использовать их свободно по всему проекту :))
Ну вот что типа этого,я в курсе что операторы сейчас так не пишут,вопрос о том как в принципе добавлять свой метод к прототипу существующего типа
ну какая проблема должна быть решена с помощью метода?
Вам ошибку обработать что-ли?
Обсуждают сегодня