Cela fait partie de ma série d’articles essentiels. Ce ne sont pas les posts les plus excitants. Mais il est important de connaître ces fondamentaux pour comprendre pourquoi JS fait les choses qu’il fait. Cela vous aidera à mieux déboguer car vous saurez pourquoi les choses ne fonctionnent pas et vous aidera à passer d’un développeur junior à un développeur intermédiaire. Allons-y ! 💪

Les valeurs en JS ont une valeur booléenne inhérente associée. Il est donc super important de savoir à quoi ces valeurs seraient évaluées (vrai ou faux), surtout lorsqu’il s’agit de comparaisons et de conditionnelles 🤓

J’ai l’habitude d’essayer de comprendre quelles valeurs seraient vraies. Ne faites pas cela. Au lieu de cela, mémorisez les valeurs qui sont Falsy. Si ce n’est pas sur la liste, c’est considéré comme truthy 👍

// JS Essentials: Falsy ValuesfalseundefinednullNaN0 or +0 or -0"" or '' or `` (empty string)// Everything else is truthy

# Valeurs qui sont réellement Truthy

Voici quelques exemples de valeurs que vous auriez pu penser être vraies (au moins je l’ai fait), mais il évalue en fait à true. Rappelez-vous que si ce n’est pas sur la liste des faux, c’est vrai!

// All these will return **true**Boolean(); // Empty Boolean({}); // Empty {}Boolean('0'); // String containing zeroBoolean('false'); // String containing the text falseBoolean(function() {}); // Empty functionBoolean(-Infinity); // Infinity or Negative InfinityBoolean(new Date()); // Date object

# Utiliser la valeur faussée dans les énoncés conditionnels

Puisque chaque valeur en JS s’évalue à un booléen (vrai ou faux). Nous pouvons raccourcir notre conditionnel dans l’énoncé if.

// ❌if(false === null)if(undefined === null)if(null === null)if(NaN === null)if(0 === null)if("" === null)if(value === null)// ✅ Much betterif(!value)

# Utiliser la valeur Falsy dans les opérateurs ternaires

De même, vous pouvez l’utiliser pour raccourcir votre condition dans les opérateurs ternaires.

// ❌'' === false ? '🙂' : '🙃';// ✅ Much better'' ? '🙂' : '🙃';

# Utiliser la valeur Falsy dans les opérateurs logiques

En voici un intéressant. Vous pouvez utiliser || et && pour retourner une valeur. Définitivement, savoir quelle valeur est falsy et truthy est super important.

|| les comparaisons s’arrêteront dès qu’une expression truthy sera évaluée

const or = '' || 'hi'; // "hi"const or = || 'hi'; // 

&& la comparaison s’arrêtera dès qu’une expression falsy sera évaluée

const and = '' && 'hi'; // ""const and = && 'hi'; // "hi"

# Community Examples

# Using Falsy Values for Unit Testing

Jason A : Parfois, lors des tests unitaires, j’utilise un tableau de valeurs falsy et je boucle dessus pour voir si mon fallback fonctionne correctement, un peu comme ceci:

.forEach(el => expect(funcImTesting(el).to.be('my fallback')),);

Merci : @jsawbrey

Articles

Laisser un commentaire

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