01 — Export Nommé
Structurer un module utilitaire modulaire.
Créer un module math.js contenant plusieurs fonctions (add, multiply). Importer uniquement add dans un autre fichier.
export const add = (a,b)=>a+b;
export const multiply = (a,b)=>a*b;
Favorise une architecture modulaire claire et permet d’importer uniquement les dépendances nécessaires.
02 — Export par Défaut
Définir l’entité centrale d’un module.
Créer une classe Database représentant une connexion et l’exporter par défaut.
class Database{
connect(){ return "connected"; }
}
export default Database;
Un module ne peut posséder qu’un seul export par défaut. Utilisé pour les services principaux.
03 — Alias d’Import
Éviter les collisions de noms.
Importer une fonction save depuis deux modules différents en les renommant.
import { save as saveUser } from "./user.js";
import { save as saveProduct } from "./product.js";
Le mot-clé “as” améliore la lisibilité et la maintenabilité.
04 — Template Literals
Construire dynamiquement des routes API.
Générer une URL REST dynamique avec id et slug.
const url = `/api/posts/${id}/${slug}`;
Syntaxe moderne plus fiable que la concaténation classique.
05 — Destructuration Objet
Optimiser la lecture des requêtes.
Extraire email et password depuis req.body.
const { email, password } = req.body;
Réduit la répétition et améliore la clarté des contrôleurs.
06 — Destructuration Tableau
Manipulation efficace des collections.
Extraire les deux premiers éléments d’un tableau.
const [first, second] = array;
Permet un accès direct par position.
07 — Spread Operator
Maintenir l’immuabilité.
Cloner un objet user et modifier son rôle.
const updated = { ...user, role:"admin" };
Évite la mutation directe et préserve l’état initial.
08 — Rest Parameters
Créer des fonctions génériques.
Créer une fonction sum acceptant un nombre variable d’arguments.
const sum = (...nums)=>nums.reduce((a,b)=>a+b,0);
Capture les arguments dans un tableau dynamique.
09 — Short Circuit
Définir des valeurs par défaut.
Attribuer un nom par défaut si user.name est vide.
const name = user.name || "Anonyme";
Assure une donnée toujours exploitable.
10 — Optional Chaining
Sécuriser l’accès aux propriétés profondes.
Accéder à user.address.city sans provoquer d’erreur.
const city = user?.address?.city;
Retourne undefined au lieu de déclencher une exception.