Comparaison égale

Définition, exemples et bonnes pratiques

À retenir

  • Elle compare le contenu (la valeur) et non l'emplacement mémoire.
  • Elle renvoie généralement un résultat booléen (Vrai ou Faux).
  • Elle s'écrit souvent avec l'opérateur ==.

La comparaison égale est une opération logique qui consiste à vérifier si deux données ont la même valeur. Contrairement à la comparaison d'identité (qui vérifie s'il s'agit du même objet physique dans la mémoire), on regarde ici uniquement si le contenu est identique, comme comparer deux billets de 10 euros : ils sont différents, mais ont la même valeur.

Étymologie

Le terme provient du latin comparatio (action de coupler) et aequalis (uni, égal). En programmation, cette notion a évolué avec l'apparition de l'opérateur == (double égal), créé pour distinguer l'action de comparer de l'action d'assigner une valeur (=).

Exemples d'usage

  • Vérifier si le mot de passe saisi par un utilisateur correspond à celui stocké en base de données.
  • Tester si une variable score est égale à 100 pour déclencher une victoire.
  • Comparer deux chaînes de caractères pour voir si elles contiennent le même texte.

Cas d'usage

On utilise ce concept dans les structures conditionnelles (if), les boucles (while) et le filtrage de données. Il est omniprésent dès qu'une décision logique doit être prise en fonction d'un état ou d'une valeur spécifique.

Bonnes pratiques

Attention à la différence entre l'égalité simple (==) et l'égalité stricte (===) dans certains langages comme JavaScript, cette dernière vérifiant aussi le type de donnée. Évitez également de comparer directement des nombres décimaux (flottants) à cause des micro-erreurs d'arrondi informatique ; préférez vérifier si leur différence est infime.

Synonymes

test d'égalité égalité de valeur comparaison de contenu

Antonymes

comparaison d'identité inégalité différence

Conseil

Quand vous débutez, l'erreur la plus courante est d'utiliser un seul = dans une condition if. Si votre programme se comporte de manière étrange, vérifiez toujours vos opérateurs de comparaison.

Questions fréquentes

Quelle est la différence entre = et == ?

Le signe seul (=) sert à ranger une valeur dans une variable (affectation), tandis que le double signe (==) sert à tester si deux valeurs sont identiques (comparaison).

Peut-on comparer deux objets complexes ?

Oui, mais selon le langage, une comparaison égale classique peut échouer s'il ne compare que les adresses mémoires. On utilise alors souvent une comparaison dite 'profonde' (deep equal).