Nullish Coalescing Assignment (??=) Operator in JavaScript (original) (raw)

Last Updated : 18 May, 2023

This is a new operator introduced by javascript. This operator is represented by x ??= y and it is called Logical nullish assignment operator. Only if the value of x is nullish then the value of y will be assigned to x thatmeansif the value of x is null or undefined then the value of y will be assigned to x.

Let's discuss how this logical nullish assignment operator works. Firstly we all know that logical nullish assignment is represented as x ??= y, this is derived by two operators nullish coalescing operator and assignment operator we can also write it as x ?? (x = y). Now javascript checks the x first, if it is nullish then the value of y will be assigned to x.

Syntax :

x ??= y // Means : x ?? (x = y)

Example 1 :

JavaScript `

let x = 12; let y = null;

let z = 13;

// The value of x will become // unchanged because x is not nullish. x ??= z;

// The value of y will be // changed because y is nullish. y ??= z;

console.log(x) // 12 console.log(y) // 13

`

Output :

12 13

Example 2 :

JavaScript `

let x = { name : "Ram" }

// The value of name will remain // unchanged because x.name is not nullish x.name ??= "Shyam";

// There is no any property named age in object x . // So the value of x.age will be // undefined and undefined means nullish. // that's why the value of age will be assigned. x.age ??= 18;

console.log(x.name) // Ram console.log(x.age) // 18

`

Output :

"Ram" 18

Example 3:

HTML `

Hello Geeksforgeeks

`

Output :

Supported browsers