Adloun

JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 2 · Exercice de TD

Égalité large

Valeurs, types et opérateurs · niveau 2

Énoncé

Prévoir l'affichage, puis réécrire le programme avec la seule égalité stricte. Combien de lignes changent de résultat ?


console.log(0 == false, 0 === false);
console.log("" == false, "" === false);
console.log("1" == true, "1" === true);
console.log(null == false, undefined == null);
console.log("2" == "02", 2 == "02");

Corrigé


true false
true false
true false
false true
false true

Avec ===, les dix comparaisons sont fausses : dans chaque paire, les deux valeurs sont de types différents, sauf "2" et "02", deux chaînes différentes. Changent donc de résultat les cinq comparaisons larges qui étaient vraies : 0 == false, "" == false, "1" == true, undefined == null et 2 == "02". L'égalité large convertit booléens et chaînes en nombres ; null n'est égal (au sens large) qu'à undefined, d'où null == false faux. L'égalité stricte ne réserve aucune de ces surprises.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →