DébutantNon commencé
Exercice 2.2 · 8 min · 0 tentative
Comparaisons et égalité
Objectif
Dans cet exercice, tu vas découvrir :
- Pourquoi
==et===donnent des résultats différents - Le danger de
==avec la conversion automatique de types - La bonne pratique : toujours utiliser
===
Contexte
Imagine un système de vérification de code PIN. Le code est stocké comme un nombre dans la base de données, mais la saisie de l'utilisateur vient d'un formulaire web, donc c'est toujours une chaîne de caractères.
L'opérateur == (double égal)
Compare les valeurs après conversion automatique :
1234 == "1234" // true ← JavaScript convertit "1234" en 1234
0 == false // true ← false devient 0
"" == 0 // true ← "" devient 0
Danger : Ces conversions peuvent créer des failles de sécurité !
L'opérateur === (triple égal)
Compare les valeurs ET les types sans conversion :
1234 === "1234" // false ← number !== string
0 === false // false ← number !== boolean
42 === 42 // true ← même type, même valeur
Consigne
Le code de départ simule une vérification de code PIN avec ==.
- Exécute le code et observe que l'accès est autorisé avec
== - Ajoute un test avec
===qui affiche :"Test === : Accès autorisé"si les valeurs ET les types correspondent"Test === : Accès refusé"sinon
Résultat attendu :
Test == : Accès autorisé
Test === : Accès refusé
Question : Pourquoi le même code PIN donne "autorisé" avec == mais "refusé" avec === ?
Objectifs
- Utiliser l'opérateur ===
- Structure if avec ===
- Premier test affiché
- Deuxième test affiché
Lisez bien les instructions et lancez-vous !
Indices (0/3)
Indice 1 verrouillé
Indice 2 verrouillé
Indice 3 verrouillé