Nous avons l'opérateur de coalescence nul dans .NET
et nous pouvons l'utiliser comme ci-dessous
string postal_code = address?.postal_code;
La même chose peut-on faire dans React JS?
Ce que j'ai trouvé comme nous pouvons le faire avec l'opérateur &&
dans address.ts file
string postal_code = address && address.postal_code;
ce dont j'ai besoin, comme la fonctionnalité .net, est possible dans TypeScript avec Réaction JS, est-ce possible?
quelque chose comme:
string postal_code = address?.postal_code // I am getting the error in this line if I try to use like .NET
Ceci est une fonctionnalité proposée dans TypeScript, sous la légendaire Issue # 16
Elle ne sera pas introduite dans TypeScript tant que la spécification ECMAScript pour cette fonctionnalité n’est pas ferme, car l’implémentation de TypeScript doit suivre cette spécification - vous l’obtiendrez donc tôt, mais pas trop tôt dans ce cas.
Il est désigné comme l'un des suivants:
JavaScript n'a pas d'opérateur à coalescence nulle (ni TypeScript, qui généralement se limite à ajouter un calque de type et à adopter des fonctionnalités relativement éloignées du processus de conversion en JavaScript). Là est une proposition pour un opérateur JavaScript null
- coalescing , mais ce n'est qu'à l'étape 1 de le processus .
Utiliser l’idiome &&
que vous avez décrit est une approche assez courante:
let postal_code = address && address.postal_code;
Si address
est null
(ou toute autre valeur falsy¹), postal_code
sera cette même valeur; sinon, ce sera quelle que soit la valeur address.postal_code
.
¹ Les valeurs de fausseté sont 0
, ""
, NaN
, null
, undefined
et bien sûr false
.