Guide de Référence

Guide de Référence JavaScript avec Exemples

La différence entre const, let et var, qu'est-ce que querySelector, à quoi sert onclick — expliqué en langage simple, avec des exemples de code plutôt que des définitions arides.

📖 8 sujets 🎯 Pour débutants 🔄 Mis à jour : 2026

Sommaire

  1. 1. const, let, var — quelle est la différence
  2. 2. Comment sélectionner un élément sur la page
  3. 3. onclick, onchange, addEventListener
  4. 4. Template literals
  5. 5. Fonctions fléchées vs normales
  6. 6. Parcourir les tableaux : forEach, map, filter
  7. 7. Travailler avec les objets
  8. 8. JSON : stringify et parse

1. const, let, var — quelle est la différence

Les trois mots-clés créent une variable, mais se comportent différemment.

var — l'option obsolète

var est la forme la plus ancienne. Elle a une portée de fonction « qui fuit » (function scope), donc une variable peut accidentellement « s'échapper » d'un bloc { }. On ne recommande plus de l'utiliser aujourd'hui.

let — une variable qu'on peut changer

let compteur = 0;
compteur = compteur + 1; // la valeur peut être changée
console.log(compteur); // 1

let vit strictement dans le bloc { } où elle a été déclarée — on appelle ça le block scope.

const — une variable qu'on ne peut pas réassigner

const nom = "Jean";
nom = "Pierre"; // ❌ Erreur : Assignment to constant variable
Important : const empêche de changer la variable elle-même, mais pas de changer le contenu d'un objet ou d'un tableau à l'intérieur :
const utilisateur = { nom: "Jean" };
utilisateur.nom = "Pierre"; // ✅ ça, c'est possible

Règle par défaut : utilise const pour tout ce qui ne sera pas réassigné. Si la valeur va changer, utilise let. var ne s'utilise presque plus aujourd'hui.

2. Comment sélectionner un élément sur la page

Pour changer quelque chose dans le HTML via JavaScript, il faut d'abord « trouver » cet élément.

querySelector — trouve le premier élément correspondant

const btn = document.querySelector(".mon-bouton");
const titre = document.querySelector("#titre-principal");

Ça fonctionne comme un sélecteur CSS : .classe — par classe, #id — par id, balise — par balise.

querySelectorAll — trouve tous les éléments correspondants

const items = document.querySelectorAll(".list-item");
items.forEach(function (item) {
    console.log(item.textContent);
});

getElementById — recherche rapide par id

const boite = document.getElementById("boite");

querySelector est plus universel et suffit dans 99% des cas — on recommande de commencer par lui.

3. onclick, onchange, addEventListener

Les événements sont des réactions aux actions de l'utilisateur : un clic, saisir du texte, envoyer un formulaire.

onclick — l'événement de clic

const btn = document.querySelector(".btn");
btn.onclick = function () {
    console.log("Bouton cliqué !");
};

onchange — l'événement de changement de valeur

Se déclenche quand l'utilisateur change la valeur d'un input, d'un select ou d'une checkbox et retire le focus de l'élément.

const select = document.querySelector("select");
select.onchange = function () {
    console.log("Sélectionné :", select.value);
};

addEventListener — une façon plus flexible

btn.addEventListener("click", function () {
    console.log("Clic via addEventListener");
});
Quelle est la différence : un élément ne peut avoir qu'un seul gestionnaire onclick — un nouveau remplace le précédent. Avec addEventListener, on peut assigner autant de gestionnaires que l'on veut au même événement — c'est pourquoi il est plus souvent utilisé dans les projets.

4. Template literals

Ils permettent d'insérer des variables directement dans un string, en utilisant des backticks ` plutôt que des guillemets normaux.

const nom = "Marie";
const age = 20;

// ancienne façon
console.log("Salut, " + nom + " ! Tu as " + age + " ans.");

// template literal
console.log(`Salut, ${nom} ! Tu as ${age} ans.`);

À l'intérieur de ${ }, on peut écrire n'importe quelle expression, pas seulement une variable : `L'année prochaine : ${age + 1}`.

5. Fonctions fléchées vs normales

// fonction normale
function somme(a, b) {
    return a + b;
}

// fonction fléchée
const somme2 = (a, b) => a + b;

Les fonctions fléchées sont plus courtes — si le corps est une seule expression, on peut omettre return et les accolades.

La différence principale est que les fonctions fléchées n'ont pas leur propre this, elles le prennent du code environnant. Au début ce n'est pas critique, mais il est important de savoir que cette différence existe.

6. Parcourir les tableaux : forEach, map, filter

forEach — simplement « parcourir » un tableau

const fruits = ["pomme", "banane", "poire"];
fruits.forEach(function (fruit) {
    console.log(fruit);
});

map — créer un nouveau tableau à partir d'un existant

const nombres = [1, 2, 3];
const doubles = nombres.map(n => n * 2);
console.log(doubles); // [2, 4, 6]

filter — ne garder que les éléments dont tu as besoin

const nombres = [1, 2, 3, 4, 5];
const pairs = nombres.filter(n => n % 2 === 0);
console.log(pairs); // [2, 4]

Une règle simple : forEach quand tu dois seulement faire quelque chose avec chaque élément ; map quand tu as besoin d'un nouveau tableau transformé ; filter quand tu dois sélectionner une partie des éléments.

7. Travailler avec les objets

const utilisateur = {
    nom: "Anne",
    age: 22,
    estEtudiant: true
};

console.log(utilisateur.nom);       // avec un point
console.log(utilisateur["age"]);    // avec des crochets

utilisateur.ville = "Paris";        // ajouter une nouvelle propriété
delete utilisateur.estEtudiant;     // supprimer une propriété

Les crochets sont utiles quand le nom de la propriété est stocké dans une variable : utilisateur[key].

8. JSON : stringify et parse

JSON est un format d'échange de données. En JavaScript, un objet et un string JSON ne sont pas la même chose — il faut convertir entre les deux.

const utilisateur = { nom: "Oscar", age: 30 };

// objet → string JSON
const json = JSON.stringify(utilisateur);
console.log(json); // '{"nom":"Oscar","age":30}'

// string JSON → objet
const parse = JSON.parse(json);
console.log(parse.nom); // "Oscar"

JSON.stringify est surtout nécessaire pour envoyer des données à un serveur ou les stocker dans localStorage, et JSON.parse pour le processus inverse.

Que faire ensuite

Envie de comprendre tout ça de façon structurée ?

Dans le cours de JavaScript, chacun de ces sujets est expliqué en détail, avec de la pratique et de vrais projets — sans détours, sans étapes sautées.