Avatar ·

Sobrecarga de funções em TypeScript: como declarar e usar corretamente?

Olá a todos! Comecei a estudar TypeScript depois de JavaScript e me deparei com um tópico que não entendo — sobrecarga de funções (function overloading). Em JavaScript, estou acostumado a escrever funções que podem aceitar diferentes tipos de argumentos e verificar internamente com `typeof` ou `instanceof`. Por exemplo, tenho uma função que deve aceitar uma string ou um número e, dependendo disso, realizar operações diferentes. Em JS, eu fazia assim: ```typescript function format(input) { if (typeof input === 'string') { return input.trim(); } else if (typeof input === 'number') { return input.toFixed(2); } } ``` Mas em TypeScript, quero descrever os tipos para essa função. Tentei escrever: ```typescript function format(input: string | number): string { // ... } ``` Isso funciona, mas ouvi dizer que em TypeScript existe sobrecarga "real" de funções, como em C++ ou Java. Tentei fazer assim: ```typescript function format(input: string): string; function