1. Ты уверен что хочешь замонкипатчить весь класс и всех потомков, а не конкретный его инстанс?
2. У тебя ряд никак не связанных с ts ошибок, эта строчка:
this.showParams.apply(this, ...args);
содержит две ошибки:
а) вызывая
this.showParams
внутри
this.showParams
ты поучаешь бесконечную рекурсию, надо сохранить старый
this.showParams
в отдельную переменную и вызывать через неё;
б.)
Function.prototype.apply
принимает вторым аргументом массив, а ты его тут зазря разбираешь.
Если на 1 вопрос ответ "нет", то как-то так должно быть:
class ExampleClass {
showParams(...args) {
console.log('I have to be calleb');
console.log(...args);
}
}
const exampleInstance = new ExampleClass();
exampleInstance.showParams('one', 'Two', 'Three', 456);
exampleInstance.showParams = (showParamsOld => function(...args){
args.push('Default Argument');
return showParamsOld.apply(this, args);
})(exampleInstance.showParams);
exampleInstance.showParams('one', 'Two', 'Three', 456);
Если ответ "да", то поправь сам.
Только помни, что монки-патчинг это плохо, и к нему стоит прибегать только в крайних случаях.