function printMessage(text){
let message = text;
if (text == null || text == undefined){
message = 'Nothing to print';
}
console.log(message);
}
function printMessage(text){
const message = text ?? 'Nothing to print';
console.log(message);
printMessage('Hello');
printMessage('undefined');
printMessage('null');
Hello
Nothing to print
Nothing to print
function printMessage(text = 'Nothing to print'){
console.log(text);
printMessage('Hello');
printMessage('undefined');
printMessage('null');
Hello
Nothing to print
null
The nullish coalescing operator (??) is a logical operator that returns its right-hand side operand when its left-hand side operand is null or undefined, and otherwise returns its left-hand side operand.
This can be seen as a special case of the logical OR (||) operator, which returns the right-hand side operand if the left operand is any falsy value, not only null or undefined. In other words, if you use || to provide some default value to another variable foo, you may encounter unexpected behaviors.
Sources : MDN