Comparer le type des éléments
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Transcription textuelle
Objectifs
Comprendre la différence entre comparaison simple et comparaison stricte ;
Savoir utiliser les comparaisons strictes.
Mise en situation
Lorsque l'on compare des éléments entre eux, le résultat dépend non seulement de leur valeur mais également de leur type.
Rappel : Type
Le type d'un élément est en quelque sorte sa nature : il peut être un nombre (entier, décimal, etc.), un caractère, une phrase, etc.
Le type est en partie identifiable selon la notation utilisée :
On met des apostrophes pour les caractères mais rien pour les nombres.
Les nombres décimaux possèdent un point et pas les entiers.
Comparaison de type
Même si les opérateurs de comparaison sont parfois identiques dans les langages, la comparaison n'est pas toujours exactement la même.
En Python, les éléments doivent avoir la même valeur et être de même type pour être égaux, alors qu'en JavaScript il existe des opérateurs spéciaux permettant d'indiquer que la comparaison est stricte, c'est à dire qu'elle doit prendre en compte le type des opérandes.
Exemple :
La deuxième ligne montre la différence entre le JavaScript et le Python. Pour le JavaScript, seule la valeur est importante : que l'opérande soit une chaîne de caractères ou un nombre ne fait pas de différence. En revanche pour le Python, même si les valeurs sont équivalentes, un nombre et une chaîne ne sont pas égaux.
/** JavaScript : affiche true et true */console.log(91 == 91)
console.log('91' == 91)
"""Python : affiche true et false."""print(91 == 91)
print('91' == 91)
Méthode : Égalité stricte
Pour JavaScript, qui différencie l'égalité de l'égalité stricte, l'opérateur d'égalité stricte est === et signifie « est égal et de même type que »
.
/** JavaScript: affiche true et false */console.log('7' == 7)
console.log('7' === 7)
Méthode : Inégalité stricte
De même, l'inégalité stricte existe et se note !==, autrement dit « est de type et/ou de valeur différent de »
.
/** JavaScript: affiche false et true */console.log('7' != 7)
console.log('7' !== 7)
Attention :
Les comparaisons strictes sont à préférer dans un code en JavaScript : leur utilisation fait partie des bonnes pratiques.
À retenir
Les langages ne gèrent pas les comparaisons de la même manière et il faut faire attention au type des opérandes.
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.