À retenir
- Vérifie la valeur ET le type de donnée.
- Utilise généralement l'opérateur triple égal (
===). - Indispensable pour un code robuste et prévisible.
La comparaison identique consiste à vérifier que deux éléments sont exactement les mêmes, tant au niveau de leur contenu que de leur nature (leur type). Imaginez comparer une pièce de 2 euros et un billet de 2 euros : ils ont la même valeur, mais ce ne sont pas des objets identiques.
Étymologie
Le terme vient du latin identicus, signifiant « le même ». En informatique, cette notion a évolué avec l'apparition de langages à typage dynamique (comme JavaScript ou PHP) pour distinguer une égalité de valeur d'une égalité totale.
Exemples d'usage
- En JavaScript,
5 === "5"renvoie faux car l'un est un nombre et l'autre est du texte. - En PHP, comparer l'entier
0avec la valeurfalsevia une comparaison identique renverra faux, évitant ainsi des erreurs logiques.
Cas d'usage
On l'utilise principalement dans le développement web et les scripts pour s'assurer qu'une variable reçue est bien du type attendu, évitant que le langage ne transforme automatiquement les données (le « type juggling ») de façon imprévisible.
Bonnes pratiques
Il est fortement recommandé d'utiliser systématiquement la comparaison identique (souvent symbolisée par ===) plutôt que la comparaison simple (==). Cela permet de détecter des bugs subtils où une valeur vide ou nulle pourrait être interprétée par erreur comme le chiffre zéro.
Synonymes
Antonymes
Conseil
Si vous débutez, prenez l'habitude de toujours taper trois signes égal (===). Si votre programme ne fonctionne pas comme prévu, vérifiez si vous ne comparez pas par erreur un nombre avec une chaîne de caractères issue d'un formulaire web.
Questions fréquentes
Quelle est la différence avec l'égalité simple ?
L'égalité simple tente de convertir les types pour qu'ils correspondent (ex: convertir du texte en nombre), tandis que la comparaison identique refuse toute conversion.
Pourquoi dit-on que c'est une 'égalité stricte' ?
Parce qu'elle impose une condition supplémentaire (le type), ne laissant aucune place à l'interprétation automatique du langage.