Variables, types, opérateurs, conditions et boucles
var ancien = "évite var, c'est l'ancien système" // fonction-scoped, éviter
let compteur = 0 // peut changer
const PI = 3.14159 // ne peut PAS changer
const par défaut, let quand tu dois modifier.
const age = 20;
age = 21; // TypeError: Assignment to constant variable
let texte = "bonjour" // string
let nombre = 42 // number
let decimal = 3.14 // number (pas de distinction en JS)
let vrai = true // boolean
let faux = false // boolean
let rien = null // null (absence intentionnelle)
let inconnu = undefined // undefined (pas encore défini)
Pour connaître le type :
typeof "bonjour" // "string"
typeof 42 // "number"
typeof true // "boolean"
typeof undefined // "undefined"
typeof null // "object" ← piège connu de JS !
console.log(typeof maVariable) pour débugger rapidement.
// Arithmétiques
10 + 3 // 13
10 - 3 // 7
10 * 3 // 30
10 / 3 // 3.333...
10 % 3 // 1 (modulo = reste de la division)
2 ** 3 // 8 (puissance)
// Comparaison (toujours utiliser ===, jamais ==)
5 === 5 // true — égalité stricte (valeur ET type)
5 == "5" // true — égalité laxiste (évite !)
5 !== 3 // true — différent strict
5 > 3 // true
5 >= 5 // true
// Logiques
true && false // false (ET)
true || false // true (OU)
!true // false (NON)
0 == false // true (avec ==)
0 === false // false (avec ===) ← correct
let score = 75;
if (score >= 90) {
console.log("Excellent");
} else if (score >= 70) {
console.log("Bien"); // ← s'affiche
} else {
console.log("À améliorer");
}
Switch (pour plusieurs cas précis) :
let jour = "lundi";
switch (jour) {
case "lundi":
console.log("Début de semaine");
break;
case "vendredi":
console.log("Fin de semaine");
break;
default:
console.log("Milieu de semaine");
}
break dans un switch → les cases "tombent" les uns dans les autres.
let message = score >= 70 ? "Reçu" : "Recalé";
// équivalent à if/else mais en une ligne
for (quand on connaît le nombre d'itérations) :
for (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4
}
while (quand on ne sait pas combien de tours) :
let n = 1;
while (n <= 5) {
console.log(n);
n++; // sans ça : boucle infinie !
}
for...of (pour parcourir un tableau) :
const fruits = ["pomme", "banane", "cerise"];
for (const fruit of fruits) {
console.log(fruit);
}
while (true) {
// sans condition de sortie → crash navigateur
}
for...of sur les tableaux, c'est plus lisible que for (let i=0; i<arr.length; i++).
| Concept | À retenir |
|---|---|
const | valeur fixe (défaut) |
let | valeur variable |
=== | comparaison toujours stricte |
% | modulo (pair/impair : n % 2 === 0) |
for...of | boucle sur tableau |
Mets en pratique les bases JS avec un projet interactif complet.
Télécharge les fichiers, ouvre-les dans ton éditeur et travaille directement dedans.
5 exercices sur les variables, conditions et boucles.
Corrections complètes. À consulter après avoir essayé.