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
- 11 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.