DEV Community

Munna Thakur
Munna Thakur

Posted on

method overloading in javaScript

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.

1. Using arguments Object

`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`
Enter fullscreen mode Exit fullscreen mode

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.

2. Overloading with Type Checks

`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!`

Enter fullscreen mode Exit fullscreen mode

Top comments (0)