How to use default parameters in JavaScript functions
· Category: JavaScript
Short answer
Default parameters assign a fallback value when an argument is undefined, supporting literals, expressions, and references to earlier parameters.
Steps
- Set a simple default:
javascript function greet(name = 'Guest') { return `Hello, ${name}`; } - Use expressions as defaults:
javascript function fetchData(url, timeout = 1000 * 5) { /* ... */ } - Reference earlier parameters:
javascript function createUser(name, greeting = `Hi, ${name}`) { return { name, greeting }; } - Combine with destructuring:
javascript function draw({ x = 0, y = 0, color = 'black' } = {}) { console.log(x, y, color); }
Tips
- Defaults are only applied when the argument is
undefined, notnullor other falsy values. - Default expressions are evaluated left-to-right at call time.
Common issues
- Forgetting to default the destructured object itself (
= {}) causes errors when called with no arguments. - Mutating a default array or object affects future calls because defaults are evaluated per call but mutable references persist if reassigned internally.