Default Parameters

Introduction

Sometimes a function is called without providing all the required arguments. In such cases, JavaScript normally assigns the value undefined to the missing parameters.

Default Parameters solve this problem by allowing you to assign default values to function parameters. If an argument is not provided or is explicitly passed as undefined, the default value is used automatically.

Default parameters were introduced in ES6 (ECMAScript 2015) and make functions more reliable, readable, and easier to use.

For automation engineers, default parameters are useful for setting default browser types, URLs, timeouts, usernames, environments, API methods, and other commonly used values.


What are Default Parameters?

Default parameters allow you to specify a value that a parameter should use when no argument is supplied.

Syntax

function functionName(parameter = defaultValue) {

    // Code

}

Function Without Default Parameters

If an argument is missing, the parameter becomes undefined.

function greet(name) {

    console.log("Hello " + name);

}

greet();

Output

Hello undefined

Function with Default Parameters

Provide a default value for the parameter.

function greet(name = "Guest") {

    console.log("Hello " + name);

}

greet();

Output

Hello Guest

Passing an Argument

If an argument is provided, it overrides the default value.

function greet(name = "Guest") {

    console.log("Hello " + name);

}

greet("John");

Output

Hello John

Multiple Default Parameters

A function can have multiple parameters with default values.

function createAccount(name = "Guest", role = "User") {

    console.log(name);

    console.log(role);

}

createAccount();

Output

Guest
User

Mixing Default and Regular Parameters

Some parameters may have default values while others do not.

function displayProduct(name, quantity = 1) {

    console.log(name);

    console.log(quantity);

}

displayProduct("Laptop");

Output

Laptop
1

Passing undefined

If undefined is passed explicitly, the default value is used.

function greet(name = "Guest") {

    console.log("Hello " + name);

}

greet(undefined);

Output

Hello Guest

Passing null

Unlike undefined, null is treated as a valid value and does not trigger the default.

function greet(name = "Guest") {

    console.log(name);

}

greet(null);

Output

null

Real-World Example

Display order details.

function placeOrder(product, quantity = 1) {

    console.log(product);

    console.log(quantity);

}

placeOrder("Laptop");

Output

Laptop
1

Another example:

Display customer information.

function customer(name = "Guest Customer") {

    console.log("Customer: " + name);

}

customer();

Output

Customer: Guest Customer

Automation Testing Example

Default parameters make automation functions flexible by providing sensible default values.

Playwright Example

Default browser.

function launchBrowser(browser = "chromium") {

    console.log("Launching " + browser);

}

launchBrowser();

Output

Launching chromium

Selenium Example

Default URL.

function openApplication(url = "https://example.com") {

    console.log("Opening " + url);

}

openApplication();

Output

Opening https://example.com

Cypress Example

Default environment.

function visitEnvironment(environment = "QA") {

    console.log("Environment: " + environment);

}

visitEnvironment();

Output

Environment: QA

API Testing Example

Default request method.

function sendRequest(method = "GET") {

    console.log(method);

}

sendRequest();

Output

GET

Data-Driven Testing Example

Default username.

function login(username = "guest") {

    console.log("User: " + username);

}

login();

Output

User: guest

Common Mistakes

Using null Instead of undefined

function greet(name = "Guest") {

    console.log(name);

}

greet(null);

Output

null

The default value is not used because null is considered an actual argument.


Expecting Default Values When Passing Empty Strings

function greet(name = "Guest") {

    console.log(name);

}

greet("");

Output

The output is an empty string, not "Guest".


Incorrect Parameter Order

Less preferred:

function createUser(role = "User", name) {

}

Better:

function createUser(name, role = "User") {

}

Place required parameters before optional parameters whenever possible.


Best Practices

Use Default Values for Optional Parameters

Provide defaults only for parameters that are truly optional.


Keep Default Values Meaningful

Choose defaults that make sense for your application.

Examples:

  • "Guest"

  • "QA"

  • "chromium"

  • "GET"

  • 30

  • true


Put Required Parameters First

List required parameters before parameters with default values.

function login(username, password, rememberMe = false) {

}

Avoid Unnecessary Default Values

Do not assign defaults to every parameter unless they improve usability and readability.


Conclusion

Default parameters make JavaScript functions more flexible and easier to use by automatically supplying values when arguments are missing. They reduce the need for additional checks inside functions and help create cleaner, more maintainable code.

For automation engineers, default parameters simplify browser configuration, environment selection, API requests, login utilities, and test execution by allowing common values to be used automatically while still supporting custom inputs when needed.


Frequently Asked Questions (FAQs)

What are default parameters?

Default parameters assign a value to a function parameter when no argument (or undefined) is provided.


When were default parameters introduced?

They were introduced in ES6 (ECMAScript 2015).


Does passing undefined use the default value?

Yes.

function greet(name = "Guest") {

    console.log(name);

}

greet(undefined);

Does passing null use the default value?

No. null is treated as an actual value.


Can a function have multiple default parameters?

Yes.

function user(name = "Guest", role = "User") {

}

Why are default parameters useful in automation testing?

Automation engineers use default parameters to provide common values for browsers, URLs, environments, API methods, timeouts, credentials, and other reusable settings while still allowing those values to be overridden when necessary.


Key Takeaways

  • Default parameters were introduced in ES6.

  • They provide values for missing or undefined arguments.

  • Passed arguments override default values.

  • Passing undefined uses the default value.

  • Passing null does not use the default value.

  • A function can have multiple default parameters.

  • Place required parameters before optional parameters.

  • Use meaningful default values that fit your application’s needs.

  • Default parameters reduce unnecessary conditional code.

  • Mastering default parameters helps you write cleaner, more flexible, and maintainable JavaScript functions.