Nullish Coalescing Operator Javascript

Syntax:

let result = value1 ?? value2;

Example:

let name = null;
let defaultName = "Guest";
let result = name ?? defaultName; // result = "Guest"

Difference from ||:

The || operator falls back on value2 if the left-hand value is any falsy value (null, undefined, 0, false, "", etc.).

Comparison:

let num = 0;

// Using ||
let result1 = num || 10;  // result1 = 10 (0 is falsy)

// Using ??
let result2 = num ?? 10;  // result2 = 0 (0 is not null or undefined)

Use Case:

The ?? operator is particularly useful when you want to handle null or undefined without treating other falsy values as invalid.

Example:

function getUserName(name) {
    return name ?? "Anonymous";
}

console.log(getUserName(null));    // "Anonymous"
console.log(getUserName("Alice")); // "Alice"
console.log(getUserName(0));       // 0 (not replaced)