Q58: How do Function Overloads work in TypeScript?

Difficulty:MediumTopic:Functions

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.