BaliseTonSite

Modules & portée globale

Organise ton code comme des niveaux séparés, pour éviter le chaos et les bugs.

8.1Qu'est-ce qu'un module ?

Un module est un fichier JS autonome. Il a ses propres variables, fonctions, etc.
Par défaut, tout ce qui est dans un module n'est pas visible à l'extérieur. C'est une sorte de "zone privée".

8.2Exporter du code

Pour qu'un module partage une info (une fonction, une variable, une classe…), il doit l'exporter :

JavaScriptjavascript
// fichier foret.js
export const monstre = "Loup-Garou";

export function attaquer() {
  console.log("Le loup attaque !");
}

8.3Importer du code

Un autre fichier peut alors l'importer pour l'utiliser :

JavaScriptjavascript
// fichier jeu.js
import { monstre, attaquer } from "./foret.js";

console.log(monstre); // "Loup-Garou"
attaquer();

8.4La portée globale

Avant les modules, tout était dans le même espace global (comme un inventaire géant commun).
Du coup, deux variables du même nom pouvaient entrer en conflit. C'était le bazar.
Les modules créent des bulles isolées, donc plus de risque d'écraser tes sorts ou tes potions par erreur.

8.5Export par défaut

Un module peut aussi avoir un seul "export par défaut" (utile quand il ne propose qu'une chose) :

JavaScriptjavascript
// foret.js
export default function rugir() {
  console.log("Le loup hurle à la lune !");
}

Et côté import :

JavaScriptjavascript
import rugir from "./foret.js";

rugir();

Verifie tes acquis

3 questions pour valider ce chapitre

1. Quel mot-cle permet d'importer une fonction depuis un autre fichier ?

Valide et sauvegarde ce chapitre

Ne perds pas le fil de ton apprentissage. Chaque QCM terminé sauvegarde ton score. Crée ton profil gratuitement pour débloquer toutes les évaluations du site et retrouver tes résultats plus tard.

Commencer l'aventure
Déjà membre ?Connecte-toi