Default Parameters in JavaScript with ES6 / ES2015

You can now define default values for your function parameters in JavaScript. The default value will be used when an argument is missing or it evaluates to undefined.

It’s very easy to understand with a simple example. Notice how the value 3 is used when y is not provided or when undefined is provided:

function add(x, y = 3) {
  console.log(x + y);

add(3, 9); // 12
add(3) // 6
add(12, undefined) // 15
add(undefined, 8); // NaN, x doesn't have a default value

Default parameters can be really useful to ensure you have at least an empty array or object literal available when performing operations. Here’s an example with a default parameter:

function addToGuestList(guests, list = []) {
  console.log([...guests, ...list]);

addToGuestList(['Bob', 'Andy']); // ['Bob', 'Andy']
addToGuestList(['Bob', 'Andy'], ['Roger']); // ['Bob', 'Andy', Roger]

And the same example without:

function addToGuestList(guests, list) {
  console.log([...guests, ...list]);

addToGuestList(['Bob', 'Andy']); // ['Bob', 'Andy', undefined]
addToGuestList(['Bob', 'Andy'], ['Roger']); // ['Bob', 'Andy', Roger]


🔎 Searching...