⚡ JavaScript

Voici la traduction de l'article du russe vers le français, en respectant toutes les règles spécifiées :

Qu'est-ce que c'est et pourquoi ?

Imagine que tu es un robot qui exécute des commandes. Pour prendre des décisions, tu dois être capable de comparer des choses et de vérifier des conditions. Par exemple :

  • Comparaison : « As-tu 100 roubles ? » (tu compares ton argent avec le nombre 100).
  • Logique : « As-tu 100 roubles ET n'as-tu pas faim ? » (tu vérifies deux conditions à la fois).

En JavaScript, les opérateurs de comparaison et les opérateurs logiques aident l'ordinateur à répondre à ce genre de questions. Le résultat est toujours true (vrai) ou false (faux). C'est comme un feu tricolore : vert – on peut avancer (true), rouge – on s'arrête (false).

Pourquoi en avons-nous besoin ? Sans eux, les programmes seraient ennuyeux – ils exécuteraient simplement les commandes les unes après les autres. Avec eux, le programme peut réagir à différentes situations : par exemple, si l'utilisateur a saisi le bon mot de passe – le laisser entrer, sinon – afficher une erreur.

En Python, ces opérateurs fonctionnent presque de la même manière, mais JavaScript a ses propres particularités. Nous allons les examiner.

Exemples de code avec explications

1. Opérateurs de comparaison de base : >, <, >=, <=

Les plus simples – comme en cours de maths. On compare des nombres :

// Exemple 1 : Plus grand ou plus petit ?
let age = 12;
let peutEntrer = age >= 12; // Peut-on entrer si l'âge est 12 ou plus ?
console.log(peutEntrer); // Affiche : true (car 12 >= 12 — vrai)

// Exemple 2 : Comparaison avec un seuil
let temperature = 30;
let chaud = temperature > 25;   // Plus grand que 25 ?
console.log(chaud); // true (30 > 25 — vrai)

let froid = temperature < 10; // Plus petit que 10 ?
console.log(froid); // false (30 n'est pas plus petit que 10)

// Exemple 3 : On peut aussi comparer des chaînes de caractères !
console.log("pastèque" > "banane"); // false
// Pourquoi ? Les lettres sont comparées par ordre alphabétique : 'p' (16e lettre) est plus grand que 'b' (2e lettre)
// En Python, c'est pareil, mais la sensibilité à la casse est différente

Important : En JavaScript, les chaînes de caractères sont comparées selon le code Unicode (comme dans un tableau). « а » est plus petit que « я », et « А » est plus petit que « а ». C'est comme un dictionnaire : les lettres majuscules viennent en premier, puis les minuscules.

2. Opérateurs d'égalité : == et ===

C'est là que ça devient intéressant ! En JavaScript, il y a deux façons de vérifier si des valeurs sont égales :

  • == — « égalité non stricte » (compare les valeurs, mais peut convertir les types)
  • === — « égalité stricte » (compare à la fois la valeur et le type de données)
// Exemple 4 : Comparaison de nombres et de chaînes
let nombre = 5;
let chaine = "5";

console.log(nombre == chaine);   // true — car 5 est égal à 5 (JavaScript a converti la chaîne en nombre)
console.log(nombre === chaine);  // false — car un nombre (number) n'est pas égal à une chaîne (string) !

// En Python, cela n'existe pas : "5" == 5 donne False immédiatement, sans conversion

// Exemple 5 : Comparaison avec true/false
console.log(1 == true);  // true — car true est converti en 1
console.log(1 === true); // false — types différents (nombre vs boolean)

console.log(0 == false); // true
console.log(0 === false); // false

// Exemple 6 : Valeurs vides
console.log(null == undefined); // true — règle spéciale de JS
console.log(null === undefined); // false — types différents

// En Python, il n'y a pas d'undefined, il y a seulement None, et il n'est égal à rien d'autre qu'à lui-même

Conseil pour les débutants : Utilise toujours === (égalité stricte) pour éviter les surprises. C'est comme en maths : 5 et « 5 » sont des choses différentes, même si elles se ressemblent.

3. Opérateur logique && (ET)

L'opérateur « ET » (AND) retourne true seulement si les deux conditions sont vraies. Dans la vie, c'est comme : « Je vais me promener si j'ai fait mes devoirs ET si maman le permet ».

// Exemple 7 : Vérification de deux conditions
let age = 14;
let aBillet = true;

let peut_aller_au_cinema = (age >= 12) && (aBillet === true);
console.log(peut_aller_au_cinema); // true — l'âge convient ET le billet est présent

// Si l'âge était 10 :
age = 10;
peut_aller_au_cinema = (age >= 12) && (aBillet === true);
console.log(peut_aller_au_cinema); // false — la première condition est fausse, la seconde est vraie, mais ET exige les deux

// Exemple 8 : Condition complexe
let note = 4;
let comportement = "excellent";

let seraFelicite = (note === 5) && (comportement === "excellent");
console.log(seraFelicite); // false — la note n'est pas 5, même si le comportement est excellent

// En Python, cela s'écrit de la même façon : and

Astuce : JavaScript est « paresseux » – si la première condition dans && est fausse, il ne vérifie même pas la seconde. Cela s'appelle « court-circuit ». On économise du temps !

4. Opérateur logique || (OU)

L'opérateur « OU » (OR) retourne true si au moins une condition est vraie. Comme dans la vie : « Je vais me promener si j'ai fait mes devoirs OU s'il fait beau dehors ».

// Exemple 9 : Choix entre deux options
let aArgent = false;
let aCadeau = true;

let peut_acheter_jeu = aArgent || aCadeau;
console.log(peut_acheter_jeu); // true — pas d'argent, mais il y a un cadeau (une condition est vraie)

// Exemple 10 : Vérification de l'âge
let ageUtilisateur = 17;
let entreeAutorisee = (ageUtilisateur >= 18) || (ageUtilisateur >= 16 && aBillet);
// Si l'âge >=18 OU (l'âge >=16 ET a un billet)
console.log(entreeAutorisee); // false — 17 n'est pas >=18, et bien que 17>=16, aBillet n'est pas défini (undefined — c'est false)

// Exemple 11 : Valeurs par défaut
let nom = "";
let nomAffiche = nom || "Invité";
console.log(nomAffiche); // "Invité" — car une chaîne vide est considérée comme false

// En Python : nom or "Invité" — fonctionne de la même manière

Astuce : || est aussi « paresseux » – si la première condition est vraie, la seconde n'est pas vérifiée. On utilise cela pour définir des valeurs par défaut.

5.