JavaScript Documentation
Concise, example-driven JavaScript reference. Read the concept, see the code, then practice it in a Coddy journey.
Start a guided JavaScript journeyPour commencer
- C'est quoi JavaScriptJavaScript, c'est quoi au juste ? Où s'exécute-t-il, à quoi sert-il, et en quoi diffère-t-il de Java ou TypeScript — une intro claire pour débuter.
- Exécuter du JSLes vraies façons d'exécuter du JavaScript en 2026 : la console du navigateur, une balise script dans un fichier HTML, Node.js en ligne de commande, et quand choisir quoi.
- Syntaxe & point-virguleComment fonctionne la syntaxe JavaScript — instructions, blocs, expressions — et ce qu'il faut vraiment savoir sur les points-virgules et l'insertion automatique (ASI).
- Mode strictCe que le mode strict change en JavaScript, comment l'activer, et pourquoi les modules ES et les classes l'appliquent déjà sans rien demander.
- CommentairesTout sur les commentaires en JavaScript : `//` pour une ligne, `/* */` pour plusieurs, et les réflexes à prendre pour écrire des commentaires vraiment utiles.
Variables et types
- let, const, varLes trois façons de déclarer une variable en JavaScript — et pourquoi le code moderne privilégie `const` par défaut, `let` quand c'est nécessaire, et `var` quasiment jamais.
- Types primitifsLes sept types primitifs de JavaScript — string, number, bigint, boolean, null, undefined et symbol — et ce qui les distingue des objets.
- Strings & templatesTout ce qu'il faut savoir sur les strings en JavaScript : guillemets, backticks, interpolation, chaînes multilignes et les méthodes vraiment utiles au quotidien.
- Nombres & BigIntComprendre le type Number de JavaScript : virgule flottante, MAX_SAFE_INTEGER, et quand passer à BigInt pour gérer les très grands entiers.
- null vs undefinedComprendre ce qui distingue vraiment null de undefined en JavaScript, comment tester l'un ou l'autre, et lequel choisir dans votre propre code.
- Coercition de typesComment JavaScript convertit les valeurs d'un type à l'autre : les règles implicites qui piègent tout le monde, les conversions explicites à privilégier, et quand chacune entre en jeu.
- == vs ===Comprendre l'égalité en JavaScript : == vs ===, la coercition de types, le cas de NaN, la comparaison d'objets et quand dégainer Object.is.
Flux de contrôle
- OpérateursTour d'horizon des opérateurs JavaScript pour calculer, comparer, combiner des booléens et affecter des valeurs — avec les pièges qui font vraiment trébucher en pratique.
- if / elseMaîtrisez le if/else en JavaScript : écrire des conditions, enchaîner les else if, gérer les valeurs falsy et savoir quand préférer l'opérateur ternaire.
- SwitchLe fonctionnement de l'instruction switch en JavaScript : case, break, default, fallthrough, et quand la préférer à une cascade de if/else.
- Boucle forTout savoir sur la boucle `for` en JavaScript : syntaxe à trois parties, parcours de tableaux, `break` et `continue`, boucles imbriquées et pièges à éviter.
- Boucles whileComprendre les boucles `while` et `do...while` en JavaScript : quand les préférer à `for`, et comment éviter les boucles infinies.
- for...of & for...infor...of ou for...in en JavaScript : valeurs vs clés, tableaux vs objets, et surtout comment choisir la bonne boucle sans se tromper.
- Truthy & FalsyCe qui est considéré comme truthy ou falsy en JavaScript : la liste exhaustive des valeurs falsy et la coercition booléenne expliquée par l'exemple.
Itération
- Itérateurs & générateursComprendre le protocole d'itération en JavaScript, rendre ses propres objets itérables et simplifier tout ça grâce aux fonctions génératrices.
- SymbolsDécouvrez ce que sont les symbols en JavaScript, pourquoi ils existent et comment les well-known symbols comme Symbol.iterator permettent à vos objets de se brancher aux mécaniques du langage.
Fonctions
- Déclaration de fonctionComment déclarer une fonction en JavaScript : le mot-clé function, les paramètres, la valeur de retour, le hoisting et quand préférer une déclaration à une expression.
- Fonctions fléchéesTout comprendre aux fonctions fléchées en JavaScript : la syntaxe `=>`, le return implicite, la gestion du `this` lexical et quand leur préférer une `function` classique.
- Paramètres par défautComprendre les paramètres en JavaScript : valeurs par défaut, déclenchement avec undefined, ordre d'évaluation et différence entre paramètres et arguments.
- Spread & RestComment fonctionne l'opérateur ... en JavaScript : récupérer des arguments avec rest, étaler des tableaux et objets avec spread, et savoir quand utiliser l'un ou l'autre.
- ClosuresUne closure, c'est une fonction qui se souvient des variables qui l'entouraient. Voici comment ça marche en JavaScript, avec des exemples concrets et exécutables.
- Le mot-clé thisComprendre comment `this` fonctionne vraiment en JavaScript : les quatre règles de liaison, le cas particulier des fonctions fléchées, et comment éviter le fameux piège du `this is undefined`.
- Fonctions d'ordre supérieurLes fonctions d'ordre supérieur en JavaScript : passer une fonction en argument, en renvoyer une depuis une autre, et maîtriser map, filter et reduce au quotidien.
Objets et tableaux
- ObjetsComment les objets JavaScript fonctionnent vraiment : les créer, lire et modifier leurs propriétés, y ajouter des méthodes, et les bonnes pratiques pour garder un code lisible.
- TableauxTout ce qu'il faut savoir sur les tableaux en JavaScript : création, indexation, length, push/pop, slice vs splice et les boucles les plus lisibles.
- DestructuringLe destructuring en JavaScript expliqué simplement : extraire des valeurs d'objets et de tableaux, renommer, valeurs par défaut, motifs imbriqués et paramètres de fonction.
- Spread d'objetComment fonctionne le spread d'objet en JavaScript : cloner, fusionner, écraser des propriétés, et le piège de la copie superficielle qui surprend tout le monde.
- Méthodes de tableauLes méthodes de tableau qui remplacent la plupart de vos boucles `for` — map, filter, reduce, find, some, every — et celles qui modifient le tableau d'origine.
- Map & SetComment fonctionnent Map et Set en JavaScript, ce qui les distingue des objets et tableaux classiques, et dans quels cas ils deviennent vraiment utiles.
- JSONComment convertir un objet JavaScript en JSON et inversement — JSON.stringify, JSON.parse, les fonctions replacer et reviver, et les valeurs qui ne survivent pas à l'aller-retour.
- Optional ChainingComment l'opérateur `?.` permet de parcourir des objets imbriqués, des tableaux et des méthodes sans planter sur un `null` ou un `undefined`.
- Coalescence des nulsComment l'opérateur `??` applique une valeur par défaut uniquement quand la variable vaut `null` ou `undefined` — et pourquoi c'est plus fiable que `||` dans la vraie vie.
Classes et prototypes
- ClassesComprendre vraiment les classes JavaScript : le constructeur, les méthodes, les champs d'instance, les getters/setters et le modèle mental derrière le mot-clé `class`.
- HéritageComment fonctionne l'héritage des classes JavaScript : le mot-clé extends, l'appel à super, la redéfinition de méthodes, et quand lui préférer la composition.
- Membres statiquesComprendre les méthodes et propriétés statiques en JavaScript : quand les utiliser, comment `this` se comporte, et le pattern factory qu'elles rendent possible.
- Champs privés #Comment le préfixe `#` rend les champs et méthodes d'une classe réellement privés en JavaScript — syntaxe, règles, et pourquoi la convention du underscore ne suffit plus.
- PrototypesCe que sont vraiment les prototypes en JavaScript, comment la chaîne de prototypes résout l'accès aux propriétés, et comment la syntaxe `class` s'appuie sur ce même mécanisme.
JavaScript asynchrone
- Event LoopLe modèle mental de l'asynchrone en JavaScript : la call stack, la task queue, la file de microtâches, et le rôle de chef d'orchestre de l'event loop.
- CallbacksComprendre les callbacks en JavaScript : passer une fonction en argument, le pattern error-first et pourquoi l'imbrication pousse vers les promesses.
- PromisesComprendre les Promises en JavaScript : les trois états, le chaînage avec then et catch, la parallélisation avec Promise.all et la création via new Promise.
- async/awaitComprendre async/await en JavaScript : fonctions async, attente de promesses, gestion des erreurs avec try/catch et exécution en parallèle avec Promise.all.
- Fetch APIMaîtriser la Fetch API en JavaScript : requêtes GET et POST, parsing JSON, gestion propre des erreurs et annulation d'une requête trop lente.
- Erreurs asyncComment les erreurs circulent vraiment dans le code async JavaScript : try/catch avec async/await, .catch sur les promesses, et les pièges qui avalent silencieusement les échecs.
Modules et outillage
- Modules ESComprendre les modules ES en JavaScript : exports nommés et par défaut, syntaxe d'import, import() dynamique et ce qui distingue un module d'un script classique.
- CommonJS vs ESMNode embarque deux systèmes de modules. On voit pourquoi les deux coexistent et comment choisir entre require et import dans vos projets.
- npm : l'essentielComprendre npm en pratique : installer des paquets, initialiser un projet, gérer les dev dependencies, mettre à jour, et saisir la logique derrière node_modules et le lockfile.
- package.jsonTout ce qu'il faut savoir sur package.json : les champs vraiment utiles, le fonctionnement des scripts et comment les plages semver décident des versions installées par npm.
- Runtime Node.jsCe qu'est vraiment le runtime Node.js, ce qui le distingue du navigateur et les API essentielles — globals, modules, process, fs — qui rendent possible le JavaScript côté serveur.
Erreurs et débogage
- try/catchComment fonctionnent try, catch et finally en JavaScript : capturer une erreur, relancer, l'objet error, et les cas où try/catch n'est pas la bonne solution.
- Types d'erreursLes types d'erreurs natifs de JavaScript : ce que chacun signifie, quand il apparaît, et comment lire le message sans jouer aux devinettes.
- Console & DevToolsLes méthodes de la console et les fonctionnalités des DevTools qui rendent le débogage JavaScript bien plus efficace que des console.log à la pelle.
Travailler avec des données réelles
- RegexComment utiliser les expressions régulières en JavaScript : création du motif, méthodes essentielles (test, match, replace), flags et groupes de capture, avec des exemples concrets.
- Dates en JSComment fonctionne vraiment l'objet Date en JavaScript : création, formatage, calculs de dates, fuseaux horaires et les pièges classiques à éviter.
- URL & Query StringsComment analyser, construire et modifier des URLs en JavaScript avec les APIs `URL` et `URLSearchParams` — sans regex et sans bugs sur les cas limites.