JavaScript, method overloading (like in languages such as Java or C#) isn’t directly supported because functions can only have one definition. However, JavaScript being dynamic allows us to mimic overloading using techniques like:
Checking arguments count or types.
Using default parameters.
Using arguments or rest parameters.
Below are some ways to implement overloading behavior.
`function add() { if (arguments.length === 1) { return arguments[0]; // Single argument } else if (arguments.length === 2) { return arguments[0] + arguments[1]; // Two arguments } } console.log(add(5)); // 5 console.log(add(5, 10)); // 15`
arguments is an array-like object that holds all the parameters passed to the function.
Based on the number of arguments, we perform different logic.
`function greet(name) { if (typeof name === "string") { console.log(`Hello, ${name}!`); } else if (Array.isArray(name)) { console.log(`Hello, ${name.join(", ")}!`); } } greet("Alice"); // Hello, Alice! greet(["Alice", "Bob"]); // Hello, Alice, Bob!`
The above is the detailed content of method overloading in javaScript. For more information, please follow other related articles on the PHP Chinese website!