In TypeScript, double question marks (`??`) are used as the nullish coalescing operator. The nullish coalescing operator is used to provide a default value for a variable or expression when the value on the left-hand side is `null` or `undefined`, but it does not provide a default value for other falsy values like `0`, `false`, or an empty string `””`.

Here’s the basic syntax of the nullish coalescing operator:

const result = someValue ?? defaultValue;

.If someValue is not null or undefined, the result will be assigned the value of someValue. If someValue is null or undefined, the result will be assigned the value of defaultValue.

Here’s an example:

const username = null;

const defaultUsername = “Guest”;

const result = username ?? defaultUsername;

console.log(result); // Output: “Guest”

In this example, the username variable is null, so the nullish coalescing operator assigns the value of defaultUsername to the result variable.

It’s important to note that the nullish coalescing operator is specifically designed to handle cases where you want to provide a default value for null or undefined and not for other falsy values. If you want to provide a default value for any falsy value (including 0, false, or ""), you can use the logical OR operator ||.