Node.js (v.14): 2 Things to know.



Node.js version 14 is here!

As per the official site, Node.js 14 replaces Node.js 13 on 21st April 2020 as a current release.
This article will highlight 2 new JavaScript features included in version 14.
So, Let's dive deep and check each one.


1) Optional Chaining operator (?.) :

We may have got error many times while conditioning a nested object.

For example:

var animal={
 dog:{
   name:'Charlie Bhalerao'
   }
}

if(animal.cat.name){
console.log(animal.cat.name,"executed")
}

So here we get an error as we do not have a 'cat' key present in the 'animal' object.
To avoid such issues, we are validating references in between,

if(animal.cat && animal.cat.name){
console.log(animal.cat.name,"executed")
}

So here we are checking if 'cat' property exist then only access 'name'.

But now there is no need to do this type of validations instead we can use optional chaining operator.

if(animal.cat?.name){
console.log(animal.cat.name,"executed")
}

Here JavaScript implicitly checks if 'animal.cat' is present then only access 'animal.cat.name' no need to check explicitly.


The same is applicable for function calls.
console.log(animal.eat?.());
Here instead of giving an error (function not defined), it will first check if the method is present then only it will call.
So it will definitely help to write more error-free code and will save a lot of time.





2) Nullish Coalescing operator (??) :
First, we will discuss the issue we face and then will see how it will help to overcome the issue.
Let see this example,
So here we want to check if 'flag' value is not null then assign that value or else assign null to it.


var flag=false;
const flagValue = flag?flag:null;
console.log(flagValue );//output will be null.

Here, though the 'flag' value is not null still its values is not assigned.

So to achieve our desired output we can use nullish coalescing operator.
It is a logical operator that returns right-hand side operand
when its left-hand side operand is null or undefined and otherwise returns its left-hand side operand.


var flag=false;
const flagValue = flag??null;
console.log(flagValue );//output will be flag.

Thus, In such use cases, we can use this operator.

I hope you found this article helpful.

Download the latest version here: https://nodejs.org/en/download/current/

Please do share your feedback in the comments section.
Subscribe this blog for more articles on Node.js and JavaScript.
You can also follow me on Twitter or Linkedin for the latest updates.

Written By:
Saurabh Joshi

Comments

Popular Posts