Q58: How do Function Overloads work in TypeScript?
Function overloads allow defining multiple function call signatures above a single implementation signature.
Function Overload Declaration
// Overload Signatures
function makeDate(timestamp: number): Date;
function makeDate(m: number, d: number, y: number): Date;
// Implementation Signature (not directly callable from outside)
function makeDate(mOrTimestamp: number, d?: number, y?: number): Date {
if (d !== undefined && y !== undefined) {
return new Date(y, mOrTimestamp, d);
}
return new Date(mOrTimestamp);
}💡 Only the declared overload signatures are visible and callable by external code.
Key Takeaways
- Overload signatures define public function caller interfaces.