This question already has an answer here:
-
Typescript the safe navigation operator ( ?. ) or (!.) and null property paths
4 answers
-
Replacement of Elvis Operator of Angular2 in Typescript
2 answers
We have the Null coalescing operator in .NET
and we can use as below
string postal_code = address?.postal_code;
Same thing can we do in React JS?
What i found like we can do with && operator
in address.ts file
string postal_code = address && address.postal_code;
what i need like .net feature is possible in typescript with react JS, is that possible ?
something like:
string postal_code = address?.postal_code // I am getting the error in this line if I try to use like .NET
This is a proposed feature in TypeScript, under the legendary Issue #16
It won't be introduced into TypeScript until the ECMAScript spec for this feature is firm as there is a desire for the TypeScript implementation to follow that specification - so you'll get it early, but not massively early in this case.
It is referred to as any of the following:
- Null Propagation Operator
- Existential Operator
- Null Coalesce Operator
JavaScript doesn't have a null-coalescing operator (nor does TypeScript, which mostly limits itself to adding a type layer and adopting features that are reasonably far along the path to making it into JavaScript). There is a proposal for a JavaScript null
-coalescing operator, but it's only at Stage 1 of the process.
Using the &&
idiom you've described is a fairly common approach:
let postal_code = address && address.postal_code;
If address
is null
(or any other falsy¹ value), postal_code
will be that same value; otherwise, it will be whatever value address.postal_code
was.
¹ The falsy values are 0
, ""
, NaN
, null
, undefined
, and of course false
.