We use default parameters in JavaScript much often, they allow us to specify various default values for function parameters. Previously we have also shared detailed tutorials about different Javascript features which are used almost in everything in app development or web development. For previous tutorials you can see them here such as Arrow Functions, Destructuring, Rest Operators, Template Literal Classes & Inheritance, Modules promises, Aync/Await , Const, Let & Block Scoping and Enhanced Object Literals. All the above tutorials have related code examples.
In this tutorial of Default Parameters of our free JavaScript ES6+ crash course 2025 we have given its code example bellow as well:
function greet(name = 'Guest', greeting = 'Hello') { console.log(`${greeting}, ${name}!`);
}
greet(); // Hello, Guest!
greet('Alice'); // Hello, Alice! greet('Bob', 'Hi'); // Hi, Bob!
// Default parameters with expressions
function calculateArea(length, width = length) { return length * width;
}
console.log(calculateArea(5)); // 25
console.log(calculateArea(5, 3)); // 15
// Default parameters with function calls function getDefaultValue() {
return 'Default';
}
function example(param = getDefaultValue()) { console.log(param);
}
example(); // 'Default'
example('Custom'); // 'Custom'
Takeaways
- Use default parameters to make function calls more flexible.
- Place parameters with default values last in the parameter list.
- Use default parameters instead of modifying arguments within the function body.
Major Issues
- Default parameters are evaluated at call time, which can lead to unexpected results with mutable default values.
- Using a parameter’s value in the default expression of a parameter defined before it will result in an error.












