Skip to content
Related Articles

Related Articles

Logical nullish Assignment ??= in JavaScript

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Basic
  • Last Updated : 16 Feb, 2021

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 that means if the value of x is null or undefined then the value of y will be assigned to x.

Syntax :

x ??= y

Means : x ?? (x = y)

Example 1 :


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 :


Example 2 :


let x = {
  name : "Ram"
// The value of name will remain
// unchanged because is not nullish ??= "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(  // Ram
console.log(x.age)     // 18

Output :


Example 3:


<!DOCTYPE html>
  <title>JS Bin</title>
  <h1>Hello Geeksforgeeks</h1>
  <p id="print_arr"></p>
      let arr = [1, 2, "apple", null, undefined, []]
      // Replace each nullish values with "gfg"
      arr.forEach((item, index)=>{
        arr[index] ??= "gfg"
      .innerText = arr.toString();

Output :

How Logical nullish assignment work

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.

Supported browsers

  • Chrome 85
  • Edge 85
  • Firefox 79
  • Safari 14

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!