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"30true
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
undefinedarguments.Passed arguments override default values.
Passing
undefineduses the default value.Passing
nulldoes 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.
