Set a default value for the argument to cover undefined errors while calling a function in JavaScript

In JavaScript, when a function is called without arguments or with undefined values, you can set default parameter values to prevent errors and provide fallback behavior.

Basic Default Parameter Syntax

The simplest way to set default values is using the ES6 default parameter syntax:

function functionName(parameter = defaultValue) {
    // function body
}

Example: Simple Default Parameters

function greet(name = 'Guest') {
    console.log(`Hello, ${name}!`);
}

greet();           // No argument passed
greet('Alice');    // Argument passed
greet(undefined);  // Explicitly undefined
Hello, Guest!
Hello, Alice!
Hello, Guest!

Example: Object Destructuring with Defaults

For more complex scenarios, you can use object destructuring with default values:

function display({ name = 'Jack' } = {}) {
    console.log(`Hi My Name is ${name}!`);
}

display();                        // No argument
display({name: "Taylor Swift"});  // With argument
display({});                      // Empty object
Hi My Name is Jack!
Hi My Name is Taylor Swift!
Hi My Name is Jack!

Multiple Default Parameters

function createUser(name = 'Anonymous', age = 18, role = 'user') {
    console.log(`User: ${name}, Age: ${age}, Role: ${role}`);
}

createUser();                           // All defaults
createUser('John');                     // Partial defaults
createUser('Jane', 25, 'admin');       // No defaults
User: Anonymous, Age: 18, Role: user
User: John, Age: 18, Role: user
User: Jane, Age: 25, Role: admin

Default Values with Expressions

Default values can be expressions or function calls:

function logMessage(message = `Current time: ${new Date().toLocaleTimeString()}`) {
    console.log(message);
}

logMessage();
logMessage('Custom message');
Current time: 10:30:45 AM
Custom message

Key Points

  • Default parameters only trigger when the value is undefined
  • null, 0, false, and empty strings do NOT trigger defaults
  • Default values are evaluated at call time, not definition time
  • Object destructuring with = {} prevents errors when no object is passed

Conclusion

Default parameters provide a clean way to handle missing arguments in JavaScript functions. Use simple defaults for basic cases and object destructuring with defaults for more complex parameter structures.

Updated on: 2026-03-15T23:18:59+05:30

235 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements