Avatar ·

Sobrecarga de funciones en TypeScript: ¿cómo declarar y usar correctamente?

¡Hola a todos! Acabo de empezar a aprender TypeScript después de JavaScript y me encontré con un tema que no entiendo: la sobrecarga de funciones (function overloading). En JavaScript, solía escribir funciones que pueden aceptar diferentes tipos de argumentos y verificarlos internamente usando `typeof` o `instanceof`. Por ejemplo, tengo una función que debe aceptar ya sea un string o un número, y dependiendo de esto, realizar diferentes operaciones. En JS lo hacía así: ```typescript function format(input) { if (typeof input === 'string') { return input.trim(); } else if (typeof input === 'number') { return input.toFixed(2); } } ``` Pero en TypeScript quiero describir los tipos para esta función. Intenté escribir: ```typescript function format(input: string | number): string { // ... } ``` Esto funciona, pero he oído que en TypeScript existe una "verdadera" sobrecarga de funciones, como en C++ o Java. Intenté hacerlo así: ```typescript function format(input: string): string; function