Машинопись: view on playgroundперезапись функция в машинописном
alert = (function (origAlert) {
return function (...messages: any[]) {
origAlert(messages.join(" "))
}
})(alert)
// Example
alert(1, 2)
Я хочу, чтобы перезаписать/переопределить функцию alert(message?: any)
которым уже был объявлен в lib.d.ts
перед: declare function alert(message?: any): void;
Но alert = function...
бросает "Invalid left-hand side of assignment expression.
"
Дело в том, что function alert(...messages: any[]) { /* ... */ }
будет работать * даже не работает, но мне нужно использовать оригинал alert
. И мне не понравилось определять дополнительный const origAlert = alert
перед функцией.
Как я могу это сделать?
Обратите внимание, что скомпилированный JavaScript на игровой площадке работает по назначению.
* на машинопись площадка работает, но в Visual Studio он бросает «Overload signatures must all be ambient or non-ambient
»
Я не знаю, что предполагаемое использование вашего кода. Однако, если вам это нужно для отладки, я просто использую 'console.log()'. В противном случае, это плохая идея переопределить собственные функции, часто это вызывает неприятные последствия. –