`truthy` et `falsy` en JavaScript

`truthy` et `falsy` en JavaScript

Cet article explique truthy et falsy en JavaScript.

YouTube Video

truthy et falsy en JavaScript

Les concepts de truthy et falsy en JavaScript jouent un rôle très important, notamment dans l'évaluation des instructions conditionnelles. Truthy et falsy déterminent si une valeur est évaluée comme vraie (true) ou fausse (false), mais ces valeurs ne sont pas nécessairement les booléens true ou false eux-mêmes.

Valeurs falsy

Les valeurs falsy désignent les valeurs évaluées comme étant false dans les conditions JavaScript. Voici une liste des valeurs falsy en JavaScript.

 1const values = [
 2    false,
 3    0,
 4    -0,
 5    0.0,
 6    -0.0,
 7    0n,
 8    -0n,
 9    "",
10    null,
11    undefined,
12    NaN
13];
14
15for (let value of values) {
16    if (value) {
17        console.log(`${value} is truthy`);
18    } else {
19        console.log(`${value} is falsy`);
20    }
21}

Dans cet exemple, toutes les valeurs falsy seront affichées comme "falsy". Voici une liste des valeurs falsy en JavaScript.

  • falsefalse dans le type Boolean
  • 0 — Le nombre zéro (le décimal 0.0 est également falsy)
  • -0 — Le zéro négatif (techniquement distinct de 0, mais toujours falsy)
  • 0n — Zéro dans le type BigInt
  • "" — Une chaîne vide de longueur 0
  • null — Absence de valeur
  • undefined — Valeur indéfinie
  • NaN — Pas un nombre

Ces valeurs sont traitées comme false dans les opérations logiques et les instructions conditionnelles (comme les instructions if).

Valeurs truthy

Toutes les valeurs qui ne sont pas falsy sont truthy. Cela se réfère aux valeurs évaluées comme étant des booléens true. En JavaScript, de nombreuses valeurs sont traitées comme truthy.

 1const values = [
 2    true,
 3    1,
 4    -1,
 5    "Hello",
 6    " ",
 7    [],
 8    {},
 9    function() {},
10    Symbol(),
11    Infinity
12];
13
14for (let value of values) {
15    if (value) {
16        console.log(value, ' is truthy');
17    } else {
18        console.log(value, ' is falsy');
19    }
20}

Dans ce code, les valeurs truthy sont affichées comme "truthy". Par exemple, les valeurs suivantes sont truthy.

  • truetrue dans le type Boolean
  • Nombres (autres que 0) — Par exemple, 1 et -1 sont également vrais.
  • Les chaînes (non vides) — par exemple, "Hello" ou " " (même les chaînes contenant uniquement des espaces sont truthy)
  • Objets — Même les objets vides ({}) et les tableaux ([]) sont vrais.
  • Fonctions — Les fonctions elles-mêmes sont également vraies.
  • Symbol — Les valeurs de type Symbol sont également truthy.
  • Infinity — L'infini positif et négatif sont tous deux vrais.

Applications des notions de truthy et falsy

Les concepts de truthy et falsy sont souvent utilisés dans les conditionnelles et les opérations logiques. Par exemple, lors de la définition d'une valeur par défaut en utilisant l'opérateur || (OU logique), la première valeur truthy est renvoyée comme résultat.

Comment vérifier les valeurs falsy

Pour vérifier les valeurs falsy, il est pratique d'utiliser la fonction Boolean. La fonction Boolean convertit explicitement une valeur donnée en type boolean.

Exemples de la fonction Boolean

 1const values = [
 2    false,
 3    0,
 4    "",
 5    null,
 6    undefined,
 7    NaN
 8];
 9
10for (let value of values) {
11    console.log(`${value} is ${Boolean(value) ? 'truthy' : 'falsy'}`);
12}

Conclusion

Les notions de truthy et falsy en JavaScript sont importantes pour comprendre la manière dont les valeurs non booleanes sont évaluées dans les expressions conditionnelles. Les valeurs falsy incluent false, 0, une chaîne vide, null, undefined et NaN, tandis que toutes les autres valeurs sont évaluées comme truthy. Comprendre ces concepts vous permet d'écrire un code plus flexible et efficace.

Vous pouvez suivre l'article ci-dessus avec Visual Studio Code sur notre chaîne YouTube. Veuillez également consulter la chaîne YouTube.

YouTube Video