Разберёмся
Значение по умолчанию подставляется, если аргумент опущен или явно undefined. На null, 0, false, '' оно не срабатывает.
Подробности
Выражение default вычисляется в момент вызова: можно опираться на предыдущие параметры и создавать новый объект на каждый вызов.
function greet(name = 'Guest') {
console.log(`Hello, ${name}!`);
}
greet();
greet('Alice');
greet(undefined);
greet(null);
Если null недопустим — проверяйте отдельно.
Итог
Defaults — для настоящих опциональных аргументов; помните про undefined vs null.