JavaScript : Le cours complet pour débutant, de « Zéro à Héros »
JavaScript : Le cours complet pour débutant, de « Zéro à Héros »
Bienvenue dans le cours JavaScript le plus complet, conçu spécifiquement pour les grands débutants. Ce voyage « de Zéro à Héros » vous fera passer de la compréhension de ce qu'est le code à la maîtrise de la syntaxe moderne de JavaScript. Vous apprendrez à manipuler le Document Object Model (DOM) pour créer des applications web interactives et à saisir des concepts avancés tels que la programmation asynchrone et les fonctionnalités ES6. Nous décomposons des sujets complexes en 100 leçons très digestes, riches en exemples et en exercices pratiques, pour vous garantir de construire les bases solides nécessaires pour devenir un développeur front-end ou full-stack professionnel.
Leçons
- Introduction : Qu'est-ce que JavaScript et pourquoi l'apprendre ?
- Configuration de votre environnement : VS Code et outils de navigation
- Exécuter JavaScript : exécution interne, externe et par console
- L'environnement d'exécution JS : comment le code est exécuté
- Commentaires et lisibilité du code : meilleures pratiques
- Introduction au mode strict ('use strict')
- Variables 101 : le mot-clé hérité 'var'
- Variables 102 : le mot-clé moderne 'let' (portée de bloc)
- Variables 103 : le mot-clé 'const' (immutabilité)
- Sortie de base : utiliser console.log(), alert() et prompt()
- Introduction aux types de données JavaScript (Aperçu des primitives)
- Le type Number : entiers et virgules flottantes
- Valeurs numériques spéciales : NaN et Infinity
- Le type String : guillemets simples, doubles et échappement
- Chaînes modernes : littéraux de gabarits et interpolation (ES6)
- Propriétés et méthodes de base des chaînes (Longueur, Changement de casse)
- Manipulation de chaînes : découpage, recherche et sous-chaînes
- Le type booléen : True, False et états logiques
- Le type Null : absence explicite de valeur
- Le type Undefined : absence implicite d'assignation
- Introduction au type Symbol (Unicité)
- Le type BigInt : gérer les nombres arbitrairement grands
- Vérification de type avec l'opérateur 'typeof'
- Coercition de type : conversion de type implicite
- Conversion de type explicite (Parsing et Casting)
- Opérateurs arithmétiques : addition, soustraction, multiplication et division
- Opérateurs d'assignation : assignation simple et raccourcis
- Opérateurs de comparaison : égalité, inégalité, plus grand/plus petit
- Égalité stricte (=== et !==) : éviter la coercition de type
- Opérateurs logiques : AND (&&), OR (||) et NOT (!)
- L'opérateur ternaire (opérateur conditionnel)
- Flux de contrôle : introduction à l'instruction 'if'
- Flux de contrôle : la structure 'if...else'
- Flux de contrôle : les chaînes 'else if'
- Flux de contrôle : instructions 'if' imbriquées
- Flux de contrôle : l'instruction 'switch'
- Introduction aux boucles : pourquoi nous avons besoin de répétition
- La structure de la boucle 'while'
- La structure de la boucle 'do...while'
- Contrôler les boucles : les mots-clés 'break' et 'continue'
- Définir des fonctions : déclarations de fonction
- Expressions de fonction et fonctions anonymes
- Paramètres et arguments
- L'instruction 'return' : sortir des valeurs
- Paramètres par défaut (ES6)
- Paramètres Rest : rassembler les arguments dans un tableau
- Scope 101 : Global vs Local (Portée de fonction)
- Scope 102 : portée de bloc ('let' et 'const')
- Hoisting de fonction vs Hoisting de variable
- Comprendre les Closures (Les fondamentaux)
- Expressions de fonctions invoquées immédiatement (IIFE)
- Introduction aux tableaux : listes de données ordonnées
- Accéder aux éléments d'un tableau et les modifier
- Ajouter des éléments : push() et unshift()
- Supprimer des éléments : pop() et shift()
- Parcourir des tableaux : la boucle 'for' traditionnelle
- Parcourir des tableaux : la boucle moderne 'for...of' (ES6)
- Méthodes d'itération de tableau : la méthode forEach()
- Transformation de tableau : la méthode map()
- Sélection de tableau : la méthode filter()
- Agrégation de tableau : la méthode reduce() (utilisation simple)
- Introduction aux objets : paires clé-valeur
- Accéder aux propriétés d'un objet : notation par point vs crochets
- Ajouter, modifier et supprimer des propriétés
- Travailler avec des objets et des tableaux imbriqués
- Les objets comme types de référence (vs valeurs primitives)
- Parcourir les propriétés d'un objet avec 'for...in'
- Méthodes d'objet et le mot-clé 'this'
- Méthodes utilitaires d'objet : keys(), values() et entries()
- Fonctions constructeurs (POO héritée)
- Introduction aux classes ES6 (Sucre syntaxique)
- Méthodes et propriétés de classe
- Héritage avec 'extends' et 'super'
- Getters et Setters
- Méthodes statiques
- Comprendre les prototypes (La chaîne d'héritage)
- L'objet global Window (Environnement de navigation)
- Qu'est-ce que le DOM ? (Document Object Model)
- Sélectionner des éléments : getElementById()
- Sélectionner des éléments : querySelector() et querySelectorAll()
- Changer le contenu du texte : textContent vs innerHTML
- Modifier les attributs : getAttribute, setAttribute, removeAttribute
- Styler les éléments : la propriété .style
- Gérer les classes : la propriété classList
- Créer de nouveaux éléments : createElement()
- Insérer des éléments : appendChild et prepend
- Supprimer des éléments du DOM
- Introduction à la gestion des événements
- Attacher des écouteurs : la méthode addEventListener()
- L'objet Event et les propriétés d'événement
- Fonctions fléchées (Syntaxe et différence de 'this')
- Décomposition (Destructuring) de tableaux et d'objets
- L'opérateur de décomposition (...) pour copier et combiner
- Introduction au JavaScript asynchrone (Le problème)
- Callbacks et le redoutable 'Callback Hell'
- Introduction aux Promises (La structure)
- Consommer des Promises : then(), catch() et finally()
- Gestion des erreurs avec try...catch (Synchrone)
- Introduction aux modules (Bases de l'import et de l'export)
- Conclusion du cours, révision et prochaines étapes