Avatar ·

TypeScript中的函数重载:如何正确声明和使用?

大家好!我刚开始在JavaScript之后学习TypeScript,遇到了一个我不理解的话题——函数重载(function overloading)。 在JavaScript中,我习惯编写可以接受不同类型参数的函数,并在内部使用`typeof`或`instanceof`进行检查。例如,我有一个函数,它应该接受字符串或数字,并根据类型执行不同的操作。在JS中,我是这样做的: ```typescript function format(input) { if (typeof input === 'string') { return input.trim(); } else if (typeof input === 'number') { return input.toFixed(2); } } ``` 但在TypeScript中,我想为这个函数描述类型。我尝试编写: ```typescript function format(input: string | number): string { // ... } ``` 这有效,但我听说TypeScript中有像C++或Java那样的“真正”函数重载。我尝试这样做: ```typescript function format(input: string): string; function