Last Updated : 23 Jan, 2025
TypeScript function overloads enable defining multiple signatures for a single function, allowing it to handle various parameter types or counts.
function greet(person: string): string;
function greet(person: string, age: number): string;
function greet(person: string, age?: number): string {
if (age !== undefined) {
return `Hello, ${person}! You are ${age} years old.`;
}
return `Hello, ${person}!`;
}
console.log(greet("Alice"));
console.log(greet("Bob", 30));
Output:
Hello, Alice!More Example of TypeScript function Overloads Adding Numbers or Concatenating Strings JavaScript
Hello, Bob! You are 30 years old.
function combine(a: number, b: number): number;
function combine(a: string, b: string): string;
function combine(a: any, b: any): any {
return a + b;
}
console.log(combine(5, 10));
console.log(combine("Hello, ", "World!"));
Output:
15Fetching Data by ID or Query JavaScript
Hello, World!
function fetchData(id: number): string;
function fetchData(query: string): string[];
function fetchData(param: any): any {
if (typeof param === 'number') {
return `Data for ID: ${param}`;
} else {
return [`Result for query: ${param}`];
}
}
console.log(fetchData(42));
console.log(fetchData("search term"));
Output:
Data for ID: 42Calculating Area for Different Shapes JavaScript
Result for query: search term
function calculateArea(radius: number): number;
function calculateArea(length: number, width: number): number;
function calculateArea(...args: number[]): number {
if (args.length === 1) {
return Math.PI * args[0] ** 2;
} else {
return args[0] * args[1];
}
}
console.log(calculateArea(5));
console.log(calculateArea(10, 20));
78.53981633974483Best Practices for Using TypeScript Function Overloads
200
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4