Mini-JS

Mini-JS c_Egalite

Égalité

Lorsque nous écrivons un programme, nous avons souvent besoin de déterminer l’égalité entre différentes variables. Ce test de comparaison est réalisé grâce à un opérateur d’égalité. L’opérateur d’égalité le plus courant est le double égal ==. Cet opérateur permet de déterminer si deux variables sont égales l’une à l’autre, ce même si elles ne sont pas du même type.

Par exemple, considérons :

let foo = 42;
let bar = 42;
let baz = "42";
let qux = "life";

Comme on peut s’y attendre, foo == bar sera évalué à true tandis que baz == qux sera évalué à false. Cependant, foo == baz sera également évalué à true en dépit du fait que foo et baz sont de types différents. En coulisses, l’opérateur d’égalité == essaye de forcer les opérandes à être de même type pour pouvoir effectuer la comparaison. C’est la différence significative qui existe avec l’opérateur d’égalité ===.

L’opérateur d’égalité triple égal === évalue l’égalité en se basant à la fois sur la valeur des variables et sur leur type. Si l’on reprend l’exemple précédent, cela revient à dire que foo === bar sera toujours évalué à true, mais que foo === baz sera à présent évalué false. En effet, bien que les valeurs semblent être égales, le type des variables diffère. Quant à lui, baz === qux sera toujours false.

Exemple

let str1 = "hello";
let str2 = "HELLO";
let bool1 = true;
let bool2 = 1;

// comparez en utilisant ==
let stringResult1 = str1 == str2   // false
let boolResult1 = bool1 == bool2   // true

// comparez en utilisant ===
let stringResult2 = str1 === str2  // false
let boolResult2 = bool1 === bool2  // false

À retenir


⬅️ Chapitre précédent : Les Variables

➡️ Chapitre suivant : Les Types