Aller au contenu

Le glossaire · Une idée plus claire

Égalité simple (Loose Equality)

L'égalité simple (==) effectue une conversion des deux valeurs à comparer avant d'effectuer la comparaison réelle.

Mis à jour le

En JavaScript la comparaison simple se représente avec la syntaxe == (double égalité), il n'est pas recommandé de l'utiliser car son résultat peut être très hasardeux.

On privilégiera généralement l'égalité stricte.

javascript
console.log("" == 0) // Vaut vrai, égalité simple
console.log("" === 0) // Vaut faux, égalité stricte

Pourquoi l'égalité simple est source de bugs

L'égalité simple (==, loose equality) compare deux valeurs après les avoir converties vers un type commun. Cette conversion implicite est une conséquence du typage dynamique de JavaScript.

Exemples : 0 == "" vaut true, 0 == "0" vaut true, mais "" == "0" vaut false ; null == undefined vaut true. Ces règles de conversion sont difficiles à mémoriser et produisent des bugs discrets.

C'est pourquoi on utilise presque toujours l'égalité stricte (===), qui ne convertit rien. Un outil comme TypeScript aide aussi à repérer ces comparaisons ambiguës avant l'exécution.

La prochaine étape

Et si on donnait forme
à votre idée ?

30 minutes pour parler de votre projet, de vos enjeux et de la suite.

Parlons de votre projet