Home > front end >  why does nullish coalescing executing two parts?
why does nullish coalescing executing two parts?

Time:02-12

I have a method:

const objT2 = {
  calcAge(year) {
    console.log(2022 - year);
  },
};

but when I use the nullish coalescing both parts is being executed.

objT2.calcAge(1990) ?? console.log(`method not found`);
//output => 32    method not found

CodePudding user response:

first you are calling calcAge method with 1990. so by calling it, the method gets executed objT2.calcAge(1990). this calculated 2022 - 1990 which is 32 and then logs it to the console. then this method returns undefined which gets evaluated as the left hand operand of the ?? operator. As this operator sees the left hand side is returning a nullish value (null or undefined), it goes on to execute the right hand side which logs method not found as well.

  • Related