Nullish Coalescing Operator (??)

Nullish Coalescing Operator (??)

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. It was added to the standard in ECMAScript's 11th edition.

This operator can be compared with the logical OR (||) operator, which returns the right-hand side operand if the left operand is any falsy value. Falsy value present in JavaScript are (0, '', NaN, null, undefined) .

Syntax of Nullish Coalescing operator

leftExpresion ?? rightExpresion

See the below examples for a better understanding

const firstName = null ?? 'default';
console.log(firstName);
// output: "default"

const anyNumber = 0 ?? 10;
console.log(anyNumber);
// output: 0

Now we will compare Nullish (??) operator with OR (||) operator and see the difference between them

1) With String

const someText = ''; 
// "" i.e. Empty string considered as false value
const outputWithOR = someText || 'Hello world';
console.log(outputWithOR); 
// Hello world

const outputWithNULLSIH = someText ?? 'Hello world';
console.log(outputWithNULLSIH); 
// '' ( Because someText is neither undefined nor null)

2) With Number

let count = 0;
let outputWithOR = count || 25;
console.log(outputWithOR); 
// 25

let outputWithNULLSIH = count ?? 25;
console.log(outputWithNULLSIH); 
//0

Conclusion

The nullish coalescing operator is only returning the second operand when the first one evaluates to either null or undefined (but no other falsy values).

End note

I hope you have got a clear idea of the Nullish Coalescing 0perator! Would love to know your feedback in the comments! If you want to read more about it : Click Here