What is the nullish coalescing operator (??) in JavaScript?
The nullish coalescing operator ( ??
) was introduced in ECMAScript 6 as a way to handle the coalescing of null and undefined values. It is a binary operator that takes two operands: the left operand is the expression to be evaluated, and the right operand is the default value to be used if the left operand is null or undefined .
The nullish coalescing operator works by first checking to see if the left operand is null or undefined . If it is, then the right operand is returned. If the left operand is not null or undefined , then the left operand is evaluated and the result is returned.
For example, the following code uses the nullish coalescing operator to determine the value of x :
var x = null;
x ?? 1; // 1
In this example, if x is null , then 1 is returned. If x is not null , then the result of x is returned.
The nullish coalescing operator can also be used to set a default value for a variable. For example, the following code sets the value of y to be 1 unless x is null or undefined , in which case y will be set to 0 :
var y = 0;
var x = null;
x ?? y; // 0
The nullish coalescing operator can also be used in arrays. For example, the following code sets the value of z to be the empty string unless x is null or undefined , in which case z will be set to []:
var z = [];
var x = null;
x ?? z; // []
Comments ()