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 ==.

  1. Exécute le code et observe que l'accès est autorisé avec ==
  2. 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é