Utiliser && et || en dehors de la clause if en JavaScript

Vous avez peut-être utilisé les opérateurs && et || lors de l’écriture d’une condition dans une clause if. Mais saviez-vous que, en JavaScript, ils s’évaluent aux valeurs d’expression, telles que les chaînes de caractères et les nombres, au lieu des valeurs booléennes true et false?

Ceci vous permet d’utiliser les opérateurs && et || dans des expressions en dehors de la clause if. Il fournit des moyens courts d’exprimer un arrêt anticipé en utilisant && et d’exprimer une valeur par défaut en utilisant ||.

If-clause opère sur des valeurs véridiques et fausses

Le fait que les opérateurs && et || s’évaluent en chaînes de caractères et en nombres ne rompt pas la if-clause parce que les conditions sont évaluées différemment en JavaScript.

Au lieu que la clause if décide de son prochain mouvement en fonction de la condition étant true ou false, elle décide en fonction de la condition étant véridique ou falsy.

La définition est

Une valeur est falsy si elle est false, null, undefined, '', 0 ou NaN. Une valeur véridique est toute valeur qui n’est pas considérée comme falsy.

Mettons ces informations en pratique.

Utiliser && pour se prémunir contre les indéfinis

Une situation courante consiste à accéder à des propriétés d’objets imbriqués en utilisant la notation par points. Par exemple request.session.id. Dans ce cas, si un objet le long du chemin est undefined un « Uncaught TypeError : Cannot read property of undefined » est lancée.

L’erreur peut être évitée en utilisant && pour se prémunir contre les indéfinis.

1
const sessionId = request.session && request.session.id;

Ici l’expression évalue à undefined en toute sécurité sans lancer une erreur.

La définition de && est

L’opérateur && s’évalue à l’expression de gauche si elle est faussée, sinon à l’expression de droite.

Utiliser || pour fournir une valeur par défaut

Un autre cas d’utilisation commun est de récupérer une valeur, et si elle n’existe pas, alors utiliser une valeur par défaut.

Cela peut être réalisé en utilisant l’opérateur ||.

1
const name = user.name || 'Guest';

La définition de || est

L’opérateur || évalue l’expression de gauche si elle est vraie, sinon l’expression de droite.

Ladabilité

Ces deux nouveaux outils sont des ajouts agréables à votre boîte à outils. Mais comme toujours, la lisibilité passe avant tout. Utilisez-les à bon escient, là où ils conviennent le mieux. N’oubliez pas de vous assurer que tous les membres de votre équipe savent comment les utiliser, par exemple en leur transmettant cet article.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.