Building Your Learning Module...
Getting things ready for you!
Find videos you like?
Save to resource drawer for future reference!
Default parameters let you set fallback values for function parameters. If no argument is provided (or undefined is passed), the default value is used automatically!
function greet(name) {
// Check if undefined
if (name === undefined) {
name = 'Guest';
}
console.log('Hello, ' + name);
}
// OR using || operator
function greet2(name) {
name = name || 'Guest';
console.log('Hello, ' + name);
}
greet(); // Hello, Guest
greet('Alice'); // Hello, Alice// Set default in parameter list!
function greet(name = 'Guest') {
console.log(`Hello, ${name}`);
}
greet(); // Hello, Guest
greet('Alice'); // Hello, AliceSimple examples with fallback values
Default parameters only activate when the value is undefined. They do NOT activate for null, 0, '', or false.
function greet(name = 'Guest') {
console.log(name);
}
greet(); // Guest (undefined → default)
greet(undefined); // Guest (undefined → default)
greet(null); // null (NOT undefined)
greet(''); // '' (NOT undefined)
greet(0); // 0 (NOT undefined)
greet(false); // false (NOT undefined)Only undefined uses the default value
Defaults can be function calls, calculations, or any expression. They're evaluated fresh each time the function is called!
// Function call as default
function log(message, timestamp = Date.now()) {
console.log(`[${timestamp}] ${message}`);
}
// Calculation as default
function calculate(a, b = a * 2) {
return a + b;
}
console.log(calculate(5)); // 15 (5 + 10)
console.log(calculate(5, 3)); // 8 (5 + 3)
// Another parameter as default
function greet(firstName, lastName = firstName.toUpperCase()) {
console.log(`Hello, ${firstName} ${lastName}`);
}
greet('john'); // Hello, john JOHN
greet('john', 'doe'); // Hello, john doeVarious expressions as default values
Common pattern with configuration defaults
Powerful combination for object parameters
• Optional function parameters
• Configuration objects
• Sensible fallback values
• API calls with defaults
Default values only trigger for undefined
Not for null, 0, '', or false
Defaults can be:
• Literals (numbers, strings)
• Function calls
• Calculations
• Other parameters
Use with object destructuring for powerful named parameters with defaults!