
Exploration approfondie de JavaScript moderne
Description
Introduction au livre
« Modern JavaScript Deep Dive » explique avec précision et exhaustivité les concepts fondamentaux qui entourent JavaScript et explore en profondeur le fonctionnement du code JavaScript.
Cela vous aide donc à prédire et à expliquer clairement comment votre code se comportera à l'intérieur d'un ordinateur.
Il jette également les bases de l'écriture d'un code stable et efficace qui reflète les dernières spécifications JavaScript, et vous aide à comprendre et à utiliser pleinement les frameworks et outils JavaScript modernes utilisés dans des situations réelles.
Cela vous aide donc à prédire et à expliquer clairement comment votre code se comportera à l'intérieur d'un ordinateur.
Il jette également les bases de l'écriture d'un code stable et efficace qui reflète les dernières spécifications JavaScript, et vous aide à comprendre et à utiliser pleinement les frameworks et outils JavaScript modernes utilisés dans des situations réelles.
- Vous pouvez consulter un aperçu du contenu du livre.
Aperçu
indice
▣ Chapitre 1 : Programmation
1.1 Qu'est-ce que la programmation ?
1.2 Langage de programmation
1.3 Syntaxe et sémantique
▣ Chapitre 2 : Qu’est-ce que JavaScript ?
2.1 La naissance de JavaScript
2.2 Normalisation de JavaScript
2.3 Historique de la croissance de JavaScript
____2.3.1 Ajax
____2.3.2 jQuery
Moteur JavaScript V8 ____2.3.3
____2.3.4 Node.js
____2.3.5 Cadre SPA
2.4 JavaScript et ECMAScript
2.5 Fonctionnalités de JavaScript
2.6 État de la prise en charge des navigateurs ES6
▣ Chapitre 3 : Environnement de développement JavaScript et méthodes d’exécution
3.1 Environnement d'exécution JavaScript
3.2 Navigateur Web
____3.2.1 Outils de développement
____3.2.2 Console
____3.2.3 Exécution de JavaScript dans le navigateur
____3.2.4 Débogage
3.3 Node.js
____3.3.1 Introduction à Node.js et npm
____3.3.2 Installation de Node.js
____3.3.3 REPL Node.js
3.4 Code Visual Studio
____3.4.1 Installation de Visual Studio Code
____3.4.2 Terminal intégré
____3.4.3 Extension Code Runner
____3.4.4 Extension de serveur en direct
▣ Chapitre 4 : Variables
4.1 Que sont les variables ? Pourquoi sont-elles nécessaires ?
4.2 Identifiant
4.3 Déclaration de variable
4.4 Chronologie d'exécution des déclarations de variables et de la remontée des variables
4.5 Attribution des valeurs
4.6 Réaffectation des valeurs
4.7 Règles de dénomination des identifiants
▣ Chapitre 5 : Expressions et énoncés
valeur 5,1
5.2 Littéral
5.3 Expressions
5.4 Questions
5.5 Point-virgule et fonction d'insertion automatique du point-virgule
5.6 Énoncés qui sont des expressions et énoncés qui ne sont pas des expressions
▣ Chapitre 6 : Types de données
6.1 Type numérique
6.2 Type de chaîne
6.3 Littéraux de modèle
____6.3.1 Chaînes multilignes
____6.3.2 Insertion d'expressions
6.4 Type booléen
6.5 type indéfini
6.6 type nul
6.7 Type de symbole
6.8 Types d'objets
6.9 La nécessité des types de données
6.9.1 Sécurisation et référencement de l'espace mémoire par type de données
6.9.2 Interprétation des valeurs par type de données
6.10 Saisie dynamique
____6.10.1 Langages à typage dynamique et langages à typage statique
____6.10.2 Langages et variables à typage dynamique
▣ Chapitre 7 : Opérateurs
7.1 Opérateurs arithmétiques
____7.1.1 Opérateurs arithmétiques binaires
____7.1.2 Opérateurs arithmétiques unaires
____7.1.3 Opérateur de concaténation de chaînes
7.2 Opérateurs d'affectation
7.3 Opérateurs de comparaison
____7.3.1 Opérateurs d'égalité/de comparaison d'égalité
____7.3.2 Opérateurs de comparaison relationnelle
7.4 Opérateur conditionnel ternaire
7.5 Opérateurs logiques
7.6 Opérateur virgule
7.7 Opérateurs du groupe
7.8 type d'opérateur
7.9 Opérateurs d'exponentiation
7.10 Autres opérateurs
Effets secondaires de l'opérateur 7.11
7.12 Priorité de l'opérateur
7.13 Ordre d'associativité des opérateurs
▣ Chapitre 8 : Instructions de contrôle
8.1 Instruction de bloc
8.2 Énoncés conditionnels
____8.2.1 Instruction if...else
instruction switch ____8.2.2
8.3 Boucles
____8.3.1 pour l'énoncé
____8.3.2 instruction while
____8.3.3 instruction do...while
8.4 instruction de rupture
8.5 Suite de la déclaration
▣ Chapitre 9 : Conversion de type et évaluation des raccourcis
9.1 Qu'est-ce que la conversion de type ?
9.2 Conversion de type implicite
____9.2.1 Convertir en type chaîne
____9.2.2 Conversion en type numérique
____9.2.3 Conversion en type booléen
9.3 Conversion explicite de type
____9.3.1 Convertir en type chaîne
____9.3.2 Conversion en type numérique
____9.3.3 Conversion en type booléen
9.4 Évaluation à court terme
____9.4.1 Évaluation simplifiée à l'aide d'opérateurs logiques
____9.4.2 Opérateurs de chaînage optionnels
____9.4.3 Opérateur de fusion nulle
▣ Chapitre 10 : Littéraux objets
10.1 Qu'est-ce qu'un objet ?
10.2 Création d'objets à l'aide de littéraux d'objet
10.3 Propriétés
10.4 Méthode
10.5 Accès à la propriété
10.6 Mise à jour des valeurs immobilières
10.7 Création dynamique de propriétés
10.8 Supprimer la propriété
10.9 Extensions des littéraux d'objets ajoutées dans ES6
____10.9.1 Sténographie des propriétés
____10.9.2 Noms de propriétés calculés
____10.9.3 Abréviations des méthodes
▣ Chapitre 11 : Comparaison des valeurs primitives et des objets
11.1 Valeurs brutes
____11.1.1 Valeurs immuables
____11.1.2 Chaînes de caractères et immuabilité
____11.1.3 Passage par valeur
11.2 Objets
____11.2.1 Valeurs mutables
____11.2.2 Passage par référence
▣ Chapitre 12 : Fonctions
12.1 Qu'est-ce qu'une fonction ?
12.2 Pourquoi utiliser des fonctions ?
12.3 Littéraux de fonction
12.4 Définition de la fonction
____12.4.1 Déclaration de fonction
____12.4.2 Expressions de fonction
____12.4.3 Chronologie de la création de fonctions et remontée des fonctions
____12.4.4 Fonction constructeur
____12.4.5 Fonctions fléchées
12.5 Appels de fonction
____12.5.1 Paramètres et arguments
____12.5.2 Vérifier l'acquisition
____12.5.3 Nombre maximal de paramètres
____12.5.4 Déclaration de retour
12.6 Passage par référence et modification de l'état externe
12.7 Différentes formes de fonctions
____12.7.1 Fonctions exécutées immédiatement
____12.7.2 Fonctions récursives
____12.7.3 Fonctions imbriquées
____12.7.4 Fonctions de rappel
____12.7.5 Fonctions pures et impures
▣ Chapitre 13 : Portée
13.1 Qu'est-ce qu'une portée ?
13.2 Types de portées
____13.2.1 Portée mondiale et globale
____13.2.2 Régions et étendues régionales
13.3 Chaîne de portée
____13.3.1 Recherche de variable par chaîne de portée
____13.3.2 Recherche de fonction par chaîne de portée
13.4 Étendue au niveau fonctionnel
13.5 Étendue lexicale
▣ Chapitre 14 : Problèmes liés aux variables globales
14.1 Cycle de vie variable
____14.1.1 Cycle de vie des variables locales
____14.1.2 Cycle de vie des variables globales
14.2 Problèmes liés aux variables globales
14.3 Comment empêcher l'utilisation des variables globales
____14.3.1 Fonctions exécutées immédiatement
____14.3.2 Objets d'espace de noms
____14.3.3 Modèle de module
____14.3.4 Modules ES6
▣ Chapitre 15 : mots-clés let et const et portée au niveau du bloc
15.1 Problèmes liés aux variables déclarées avec le mot-clé var
____15.1.1 Autoriser les déclarations de variables en double
____15.1.2 Portée au niveau fonctionnel
____15.1.3 Levage variable
15.2 mot-clé let
____15.2.1 Éviter les déclarations de variables en double
____15.2.2 Portée au niveau du bloc
____15.2.3 Levage variable
____15.2.4 Objets globaux et let
15.3 mot-clé constant
____15.3.1 Déclaration et initialisation
____15.3.2 Pas de réaffectation
____15.3.3 Constantes
____15.3.4 Mot-clé const et objets
15,4 var contre.
laisser contre.
const
▣ Chapitre 16 : Attributs de propriété
16.1 Emplacements internes et méthodes internes
16.2 Attributs de propriété et objets descripteurs de propriété
16.3 Propriétés de données et propriétés d'accès
____16.3.1 Propriétés des données
____16.3.2 Propriétés de l'accesseur
16.4 Définitions des biens
16.5 Empêcher les modifications d'objets
____16.5.1 Interdire les extensions d'objet
____16.5.2 Scellage des objets
____16.5.3 Congélation des objets
____16.5.4 Objets immuables
▣ Chapitre 17 : Création d’objets par fonction constructeur
17.1 Fonction constructeur d'objet
17.2 Fonctions constructeurs
____17.2.1 Problèmes liés à la création d'objets à l'aide de littéraux d'objets
____17.2.2 Avantages de la création d'objets à l'aide de fonctions constructeurs
____17.2.3 Processus de création d'instance de la fonction constructeur
____17.2.4 Méthodes internes [[Call]] et [[Construct]]
____17.2.5 Distinction entre constructeurs et non-constructeurs
____17.2.6 nouvel opérateur
____17.2.7 nouvelle cible
▣ Chapitre 18 : Fonctions et objets de première classe
18.1 Objets de première classe
18.2 Propriétés des objets fonction
____18.2.1 Propriété des arguments
____18.2.2 propriété de l'appelant
____18.2.3 propriété de longueur
____18.2.4 Nom de la propriété
____18.2.5 __proto__ propriété d'accesseur
____18.2.6 propriété prototype
▣ Chapitre 19 : Prototype
19.1 Programmation orientée objet
19.2 Hérédité et prototypes
19.3 Objets prototypes
____19.3.1 __proto__ propriété d'accesseur
____19.3.2 La propriété prototype d'un objet fonction
____19.3.3 Propriété constructeur et fonction constructeur du prototype
19.4 Fonctions constructeurs et prototypes d'objets créés par notation littérale
19.5 Quand créer un prototype
____19.5.1 Fonctions constructeurs définies par l'utilisateur et points de création de prototype
____19.5.2 Fonctions constructeurs intégrées et points de création de prototypes
19.6 Méthode de création d'objets et détermination du prototype
____19.6.1 Prototypes d'objets créés par des littéraux d'objets
____19.6.2 Prototype d'un objet créé par la fonction constructeur Object
____19.6.3 Prototype d'un objet créé par une fonction constructeur
19.7 Chaîne de prototypes
19.8 Remplacement et masquage de propriétés
19.9 Remplacement du prototype
____19.9.1 Remplacement des prototypes par des fonctions constructeurs
____19.9.2 Remplacement des prototypes par des instances
19.10 opérateur instanceof
19.11 Héritage direct
____19.11.1 Héritage direct par Object.create
____19.11.2 Héritage direct par __proto__ à l'intérieur des littéraux d'objet
19.12 Propriétés/Méthodes statiques
19.13 Vérification de l'existence du bien
____19.13.1 dans l'opérateur
____19.13.2 Méthode Object.prototype.hasOwnProperty
19.14 Recensement des biens
____19.14.1 pour...dans la déclaration
____19.14.2 Méthodes Object.keys/values/entries
▣ Chapitre 20 : Mode strict
20.1 Qu'est-ce que le mode strict ?
20.2 Application du mode strict
20.3 Évitez d'appliquer le mode strict globalement
20.4 Évitez d'appliquer le mode strict fonction par fonction.
20.5 Erreurs causées par le mode strict
____20.5.1 Global implicite
____20.5.2 Suppression de variables, de fonctions et de paramètres
____20.5.3 Noms de paramètres dupliqués
____20.5.4 Utilisation dans le cadre d'une enquête
20.6 Modifications dues au mode strict
____20.6.1 ceci des fonctions générales
____20.6.2 arguments objet
▣ Chapitre 21 : Objets intégrés
21.1 Classification des objets JavaScript
21.2 Objets intégrés standard
21.3 Primitives et objets enveloppes
21.4 Objets globaux
____21.4.1 Propriétés globales intégrées
____21.4.2 Fonctions globales intégrées
____21.4.3 Global implicite
▣ Chapitre 22 : ceci
22.1 ce mot-clé
22.2 Style d'appel de fonction et cette liaison
____22.2.1 Appels de fonctions généraux
____22.2.2 Appel de méthode
____22.2.3 Appel de la fonction constructeur
____22.2.4 Appels indirects par les méthodes Function.prototype.apply/call/bind
▣ Chapitre 23 : Contexte d'exécution
23.1 Types de code source
23.2 Évaluation et exécution du code source
23.3 Le rôle du contexte d'exécution
23.4 Pile du contexte d'exécution
23.5 Environnement lexical
23.6 Création du contexte d'exécution et processus de recherche d'identifiants
____23.6.1 Création d'un objet global
____23.6.2 Évaluation globale du code
____24.6.3 Exécution globale du code
____24.6.4 Évaluation du code de la fonction foo
____23.6.5 Exécution du code de la fonction foo
____23.6.6 Évaluation du code de fonction de barre
____23.6.7 Exécution du code de fonction bar
____23.6.8 Fin de l'exécution du code de fonction de barre
____23.6.9 Fin de l'exécution du code de la fonction foo
____23.6.10 Fin de l'exécution globale du code
23.7 Contexte d'exécution et étendue au niveau des blocs
▣ Chapitre 24 : Clôture
24.1 Étendue lexicale
24.2 Emplacements internes des objets de fonction [[Environnement]]
24.3 Fermetures et environnements lexicaux
24.4 Utilisation des fermetures
24.5 Encapsulation et masquage de l'information
24.6 Erreurs courantes
▣ Chapitre 25 : Les cours
25.1 Les classes ne sont-elles qu'un sucre syntaxique pour les prototypes ?
25.2 Définition de classe
Levage de classe 25.3
25.4 Création d'une instance
Méthode 25.5
____25.5.1 constructeur
____25.5.2 Méthodes de prototypage
____25.5.3 Méthodes statiques
____25.5.4 Différence entre les méthodes statiques et les méthodes de prototype
____25.5.5 Caractéristiques des méthodes définies dans une classe
25.6 Processus de création d'instances de classe
25.7 Propriétés
____25.7.1 Propriétés d'instance
____25.7.2 Propriétés de l'accesseur
____25.7.3 Définitions de champs de classe suggérées
____25.7.4 Définition proposée du champ privé
____25.7.5 Définition proposée du champ statique
25.8 Extension de classe par héritage
____25.8.1 Héritage de classes et héritage de fonctions constructeurs
____25.8.2 étend le mot-clé
____25.8.3 Héritage dynamique
____25.8.4 Constructeur d'une sous-classe
____25.8.5 super mot-clé
____25.8.6 Processus de création d'une instance d'une classe héritée
____25.8.7 Extension des fonctions de constructeur intégrées standard
▣ Chapitre 26 : Fonctionnalités supplémentaires des fonctions ES6
26.1 Classification des fonctions
26.2 Méthode
26.3 Fonctions fléchées
____26.3.1 Définition des fonctions fléchées
____26.3.2 Différences entre les fonctions fléchées et les fonctions régulières
____26.3.3 ceci
____26.3.4 super
____26.3.5 arguments
26.4 Paramètres de repos
____26.4.1 Grammaire de base
____26.4.2 Objet des paramètres et arguments du reste
26.5 Valeurs par défaut des paramètres
▣ Chapitre 27 : Tableaux
27.1 Qu'est-ce qu'un tableau ?
27.2 Les tableaux JavaScript ne sont pas des tableaux
27.3 La propriété de longueur et les tableaux creux
27.4 Création d'un tableau
____27.4.1 Littéraux de tableau
____27.4.2 Fonction constructeur de tableau
____27.4.3 Tableau de
____27.4.4 Tableau.from
27.5 Référencement des éléments de tableau
27.6 Ajout et mise à jour des éléments d'un tableau
27.7 Suppression d'un élément de tableau
27.8 Méthodes de tableaux
____27.8.1 Tableau.isArray
____27.8.2 Array.prototype.indexOf
____27.8.3 Array.prototype.push
____27.8.4 Array.prototype.pop
____27.8.5 Array.prototype.unshift
____27.8.6 Array.prototype.shift
____27.8.7 Array.prototype.concat
____27.8.8 Array.prototype.splice
____27.8.9 Array.prototype.slice
____27.8.10 Array.prototype.join
____27.8.11 Array.prototype.reverse
____27.8.12 Array.prototype.fill
____27.8.13 Array.prototype.includes
____27.8.14 Array.prototype.flat
27.9 Fonctions matricielles d'ordre supérieur
____27.9.1 Array.prototype.sort
____27.9.2 Array.prototype.forEach
____27.9.3 Array.prototype.map
____27.9.4 Array.prototype.filter
____27.9.5 Array.prototype.reduce
____27.9.6 Array.prototype.some
____27.9.7 Array.prototype.every
____27.9.8 Array.prototype.find
____27.9.9 Array.prototype.findIndex
____27.9.10 Array.prototype.flatMap
▣ Chapitre 28 : Nombre
28.1 Fonction constructeur de nombre
28.2 Propriétés des nombres
____28.2.1 Numéro.EPSILON
____28.2.2 Nombre.MAX_VALUE
____28.2.3 Nombre.MIN_VALUE
____28.2.4 Nombre.MAX_SAFE_INTEGER
____28.2.5 Nombre.MIN_SAFE_INTEGER
____28.2.6 Nombre.POSITIVE_INFINITY
____28.2.7 Nombre.NÉGATIVE_INFINITY
____28.2.8 Nombre.NaN
28.3 Méthodes numériques
____28.3.1 Nombre.estFin
____28.3.2 Nombre.estEntier
____28.3.3 Nombre.isNaN
____28.3.4 Nombre.isSafeInteger
____28.3.5 Nombre.prototype.toExponential
____28.3.6 Numéro.prototype.àFixé
____28.3.7 Nombre.prototype.àPrécision
____28.3.8 Nombre.prototype.toString
▣ Chapitre 29 : Mathématiques
29.1 Propriétés mathématiques
____29.1.1 Math.PI
29.2 Méthodes mathématiques
____29.2.1 Mathématiques.abs
____29.2.2 Math.round
____29.2.3 Math.ceil
____29.2.4 Mathématiques.étage
____29.2.5 Math.sqrt
____29.2.6 Math.random
____29.2.7 Math.pow
____29.2.8 Math.max
____29.2.9 Math.min
▣ Chapitre 30 : Date
30.1 Fonction constructeur de date
____30.1.1 nouvelle Date()
____30.1.2 nouvelle date (millisecondes)
____30.1.3 nouvelle Date(dateString)
____30.1.4 nouvelle Date(année, mois, jour, heure, minute, seconde, milliseconde])
30.2 Méthode de datation
____30.2.1 Date.maintenant
____30.2.2 Date.parse
____30.2.3 Date.UTC
____30.2.4 Date.prototype.getFullYear
____30.2.5 Date.prototype.setFullYear
____30.2.6 Date.prototype.getMonth
____30.2.7 Date.prototype.setMonth
____30.2.8 Date.prototype.getDate
____30.2.9 Date.prototype.setDate
____30.2.10 Date.prototype.getDay
____30.2.11 Date.prototype.getHours
____30.2.12 Date.prototype.setHours
____30.2.13 Date.prototype.getMinutes
____30.2.14 Date.prototype.setMinutes
____30.2.15 Date.prototype.getSeconds
____30.2.16 Date.prototype.setSeconds
____30.2.17 Date.prototype.getMilliseconds
____30.2.18 Date.prototype.setMilliseconds
____30.2.19 Date.prototype.getTime
____30.2.20 Date.prototype.setTime
____30.2.21 Date.prototype.getTimezoneOffset
____30.2.22 Date.prototype.toDateString
____30.2.23 Date.prototype.toTimeString
____30.2.24 Date.prototype.toISOString
____30.2.25 Date.prototype.toLocaleString
____30.2.26 Date.prototype.toLocaleTimeString
30.3 Exemple d'horloge utilisant la date
▣ Chapitre 31 : Expressions régulières
31.1 Que sont les expressions régulières ?
31.2 Création d'expressions régulières
31.3 Méthodes d'expressions régulières
____31.3.1 RegExp.prototype.exec
____31.3.2 RegExp.prototype.test
____31.3.3 String.prototype.match
31.4 Drapeau
Motif 31,5
____31.5.1 Recherche de chaînes
____31.5.2 Recherche d'une chaîne de caractères arbitraire
____31.5.3 Recherche répétée
____31.5.4 OU Recherche
____31.5.5 NON Recherche
____31.5.6 Recherche par position de départ
____31.5.7 Recherche par dernière localisation
31.6 Expressions régulières fréquemment utilisées
____31.6.1 Vérifier si cela commence par un mot spécifique
____31.6.2 Vérifier si cela se termine par un mot spécifique
____31.6.3 Vérifier si une chaîne de caractères ne contient que des nombres
____31.6.4 Vérifier si le mot commence par un ou plusieurs espaces
____31.6.5 Vérifier si une pièce d'identité est disponible
____31.6.6 Vérifiez si le format de l'adresse électronique est correct
____31.6.7 Vérifier si le format du numéro de téléphone mobile est correct
____31.6.8 Vérification des caractères spéciaux
▣ Chapitre 32 : Cordes
32.1 Fonction constructeur de chaîne
propriété de longueur 32,2
32.3 Méthodes de chaînes de caractères
____32.3.1 String.prototype.indexOf
____32.3.2 Recherche de prototype de chaîne
____32.3.3 String.prototype.includes
____32.3.4 String.prototype.startsWith
____32.3.5 String.prototype.endsWith
____32.3.6 String.prototype.charAt
____32.3.7 String.prototype.substring
____32.3.8 String.prototype.slice
____32.3.9 String.prototype.toUpperCase
____32.3.10 String.prototype.toLowerCase
____32.3.11 String.prototype.trim
____32.3.12 String.prototype.repeat
____32.3.13 String.prototype.replace
____32.3.14 String.prototype.split
▣ Chapitre 33 : Le 7e type de données : Symbole
33.1 Qu'est-ce qu'un symbole ?
33.2 Génération de valeurs de symboles
____33.2.1 Fonction du symbole
____33.2.2 Méthodes Symbol.for / Symbol.keyFor
33.3 Symboles et constantes
33.4 Symboles et clés de propriété
33.5 Dissimulation de symboles et de propriétés
33.6 Extension des symboles et des objets intégrés standard
33.7 Symbole bien connu
▣ Chapitre 34 : Itérables
34.1 Protocole d'itération
____34.1.1 Itérables
____34.1.2 Itérateurs
34.2 Itérables intégrés
34.3 pour...de déclaration
34.4 Itérables et objets de type tableau
34.5 Nécessité d'un protocole d'itération
34.6 Itérables définis par l'utilisateur
____34.6.1 Implémentation d'un itérable personnalisé
____34.6.2 Fonctions qui créent des itérables
____34.6.3 Une fonction qui crée un objet à la fois itérable et itérateur.
____34.6.4 Itérables infinis et évaluation paresseuse
▣ Chapitre 35 : Grammaire diffusée
35.1 Lorsqu'il est utilisé dans la liste des arguments d'une instruction d'appel de fonction
35.2 Lorsqu'il est utilisé à l'intérieur d'un littéral de tableau
____35.2.1 concat
____35.2.2 épissure
____35.2.3 Copie de tableau
____35.2.4 Conversion d'un itérable en tableau
35.3 Lorsqu'il est utilisé à l'intérieur d'un littéral d'objet
▣ Chapitre 36 : Déstructuration de l’allocation
36.1 Allocation par déstructuration de tableau
36.2 Allocation par déstructuration d'objets
▣ Chapitre 37 : Ensembles et cartes
Ensemble 37.1
____37.1.1 Création d'un objet Set
____37.1.2 Vérifier le nombre d'éléments
____37.1.3 Ajout d'éléments
____37.1.4 Vérification de l'existence de l'élément
____37.1.5 Suppression d'un élément
____37.1.6 Suppression en masse d'éléments
____37.1.7 Parcours des éléments
____37.1.8 Opérations ensemblistes
37.2 Carte
____37.2.1 Création d'un objet Carte
____37.2.2 Vérifier le nombre d'éléments
____37.2.3 Ajouter un élément
____37.2.4 Acquisition d'éléments
____37.2.5 Vérification de l'existence de l'élément
____37.2.6 Suppression d'un élément
____37.2.7 Suppression en masse d'éléments
____37.2.8 Parcours des éléments
▣ Chapitre 38 : Le processus de rendu du navigateur
38.1 Demandes et réponses
38.2 HTTP 1.1 et HTTP 2.0
38.3 Analyse du HTML et création du DOM
38.4 Analyse CSS et création de CSSOM
38.5 Création d'un arbre de rendu
38.6 Analyse et exécution JavaScript
38.7 Refusion et redessinage
38.8 L'analyse HTML est interrompue par l'analyse JavaScript
38.9 L'attribut async/defer de la balise script
▣ Chapitre 39 : DOM
39.1 Nœud
____39.1.1 Éléments HTML et objets Node
____39.1.2 Types d'objets nœud
____39.1.3 Structure d'héritage des objets nœuds
39.2 Acquisition des nœuds d'éléments
____39.2.1 Obtention des nœuds d'éléments à l'aide de l'identifiant
____39.2.2 Obtention des nœuds d'éléments à l'aide des noms de balises
____39.2.3 Obtention des nœuds d'éléments à l'aide de la classe
____39.2.4 Obtention des nœuds d'éléments à l'aide de sélecteurs CSS
____39.2.5 Vérifier si un nœud d'élément spécifique peut être acquis
____39.2.6 HTMLCollection et NodeList
39.3 Navigation par nœud
____39.3.1 Nœud de texte vide
____39.3.2 Navigation dans les nœuds enfants
____39.3.3 Vérification de l'existence de nœuds enfants
____39.3.4 Navigation dans les nœuds de texte des nœuds d'éléments
____39.3.5 Navigation du nœud parent
____39.3.6 Navigation entre les nœuds frères
39.4 Obtention des informations sur les nœuds
39.5 Manipulation de texte dans les nœuds d'éléments
____39.5.1 valeur_du_nœud
____39.5.2 Contenu du texte
39.6 Manipulation du DOM
____39.6.1 innerHTML
____39.6.2 méthode insertAdjacentHTML
____39.6.3 Création et ajout de nœuds
____39.6.4 Création et ajout de plusieurs nœuds
____39.6.5 Insertion d'un nœud
____39.6.6 Déplacement des nœuds
____39.6.7 Copier le nœud
____39.6.8 Remplacement de nœud
____39.6.9 Suppression d'un nœud
39.7 Attributs
____39.7.1 Nœuds d'attributs et propriété Attributs
____39.7.2 Manipulation des attributs HTML
____39.7.3 Attributs HTML vs. Propriétés DOM
____39.7.4 attribut de données et propriété de l'ensemble de données
Style 39,8
____39.8.1 Manipulation du style en ligne
____39.8.2 Manipulation de classe
____39.8.3 Styles CSS de référence appliqués aux éléments
Norme DOM 39.9
▣ Chapitre 40 : Événement
40.1 Programmation événementielle
40.2 Types d'événements
____40.2.1 Événements de la souris
____40.2.2 Événements clavier
____40.2.3 Événement principal
____40.2.4 Événements de formulaire
____40.2.5 Événement de changement de valeur
____40.2.6 Événements de mutation du DOM
____40.2.7 Voir l'événement
____40.2.8 Événements liés aux ressources
40.3 Enregistrement d'un gestionnaire d'événements
____40.3.1 Méthode d'attribut du gestionnaire d'événements
____40.3.2 Méthode de propriété du gestionnaire d'événements
____40.3.3 méthode addEventListener
40.4 Suppression d'un gestionnaire d'événements
40.5 Objet événement
____40.5.1 Structure d'héritage des objets événementiels
____40.5.2 Propriétés communes des objets événementiels
____40.5.3 Obtention d'informations sur la souris
____40.5.4 Obtention des informations du clavier
40.6 Propagation des événements
40.7 Délégation à l'événement
40.8 Manipulation du comportement de base des éléments DOM
____40.8.1 Modification du comportement par défaut des éléments DOM
____40.8.2 Prévention de la propagation des événements
40.9 ceci à l'intérieur d'un gestionnaire d'événements
____40.9.1 Méthode d'attribut du gestionnaire d'événements
____40.9.2 Méthode de propriété du gestionnaire d'événements et méthode addEventListener
40.10 Transmission d'arguments aux gestionnaires d'événements
Événement personnalisé 40.11
____40.11.1 Création d'un événement personnalisé
____40.11.2 Envoi d'événements personnalisés
▣ Chapitre 41 : Minuteur
41.1 Planification des appels
41.2 Fonction minuterie
____41.2.1 setTimeout / clearTimeout
____41.2.2 setInterval / clearInterval
41.3 Anti-rebond et étranglement
____41.3.1 Amortissement
____41.3.2 Accélérateur
▣ Chapitre 42 : Programmation asynchrone
42.1 Traitement synchrone et asynchrone
42.2 Boucle d'événements et file d'attente des tâches
▣ Chapitre 43 : Ajax
43.1 Qu'est-ce qu'Ajax ?
43.2 JSON
____43.2.1 Notation JSON
____43.2.2 JSON.stringify
____43.2.3 Analyse JSON
43.3 Requête XMLHttp
____43.3.1 Création d'un objet XMLHttpRequest
____43.3.2 Propriétés et méthodes de l'objet XMLHttpRequest
____43.3.3 Envoi d'une requête HTTP
____43.3.4 Traitement des réponses HTTP
▣ Chapitre 44 : API REST
44.1 Configuration de l'API REST
44.2 Principes de conception des API REST
44.3 Exercices pratiques sur l'API REST avec un serveur JSON
____44.3.1 Installation du serveur JSON
____44.3.2 Créer le fichier db.json
____44.3.3 Exécution du serveur JSON
____44.3.4 Requête GET
____44.3.5 Requête POST
____44.3.6 Requête PUT
____44.3.7 Demande de correctif
____44.3.8 Demande de suppression
▣ Chapitre 45 : Promesse
45.1 Inconvénients du modèle de rappel pour le traitement asynchrone
____45.1.1 L'enfer du rappel
____45.1.2 Limites de la gestion des erreurs
45.2 Créer une promesse
45.3 Méthodes de suivi des promesses
____45.3.1 Promise.prototype.then
____45.3.2 Promise.prototype.catch
____45.3.3 Promise.prototype.finally
45.4 Gestion des erreurs dans les promesses
45.5 Chaînage de promesses
45.6 Méthodes statiques de promesses
____45.6.1 Promise.resolve / Promise.reject
____45.6.2 Promesse.tout
____45.6.3 Promise.race
____45.6.4 Promesse.toutestréglé
45.7 File d'attente des microtâches
45,8 récupération
▣ Chapitre 46 : Générateurs et async/await
46.1 Qu'est-ce qu'un générateur ?
46.2 Définition d'une fonction génératrice
46.3 Objets générateurs
46.4 Mise en pause et reprise des générateurs
46.5 Utilisation des générateurs
____46.5.1 Implémentation des itérables
____46.5.2 Traitement asynchrone
46.6 async/await
____46.6.1 Fonctions asynchrones
____46.6.2 attendre le mot-clé
____46.6.3 Gestion des erreurs
▣ Chapitre 47 : Gestion des erreurs
47.1 La nécessité de la gestion des erreurs
47.2 instruction try...catch...finally
47.3 Objet d'erreur
47.4 instruction de lancement
47.5 Propagation des erreurs
▣ Chapitre 48 : Modules
48.1 Signification générale du module
48.2 JavaScript et modules
48.3 Modules ES6 (ESM)
____48.3.1 Portée du module
____48.3.2 mot-clé d'exportation
____48.3.3 mot-clé d'importation
▣ Chapitre 49 : Création d’un environnement de développement ES6+/ES.NEXT avec Babel et Webpack
49.1 Babel
____49.1.1 Installation de Babel
____49.1.2 Installation des préréglages Babel et création d'un fichier de configuration babel.config.json
____49.1.3 Transpilation
____49.1.4 Installation des plugins Babel
____49.1.5 Test du chargement du module dans le navigateur
49.2 Webpack
____49.2.1 Installation de Webpack
____49.2.2 Installation de babel-loader
____49.2.3 Créer un fichier de configuration webpack.config.js
____49.2.4 Installation de babel-polyfill
1.1 Qu'est-ce que la programmation ?
1.2 Langage de programmation
1.3 Syntaxe et sémantique
▣ Chapitre 2 : Qu’est-ce que JavaScript ?
2.1 La naissance de JavaScript
2.2 Normalisation de JavaScript
2.3 Historique de la croissance de JavaScript
____2.3.1 Ajax
____2.3.2 jQuery
Moteur JavaScript V8 ____2.3.3
____2.3.4 Node.js
____2.3.5 Cadre SPA
2.4 JavaScript et ECMAScript
2.5 Fonctionnalités de JavaScript
2.6 État de la prise en charge des navigateurs ES6
▣ Chapitre 3 : Environnement de développement JavaScript et méthodes d’exécution
3.1 Environnement d'exécution JavaScript
3.2 Navigateur Web
____3.2.1 Outils de développement
____3.2.2 Console
____3.2.3 Exécution de JavaScript dans le navigateur
____3.2.4 Débogage
3.3 Node.js
____3.3.1 Introduction à Node.js et npm
____3.3.2 Installation de Node.js
____3.3.3 REPL Node.js
3.4 Code Visual Studio
____3.4.1 Installation de Visual Studio Code
____3.4.2 Terminal intégré
____3.4.3 Extension Code Runner
____3.4.4 Extension de serveur en direct
▣ Chapitre 4 : Variables
4.1 Que sont les variables ? Pourquoi sont-elles nécessaires ?
4.2 Identifiant
4.3 Déclaration de variable
4.4 Chronologie d'exécution des déclarations de variables et de la remontée des variables
4.5 Attribution des valeurs
4.6 Réaffectation des valeurs
4.7 Règles de dénomination des identifiants
▣ Chapitre 5 : Expressions et énoncés
valeur 5,1
5.2 Littéral
5.3 Expressions
5.4 Questions
5.5 Point-virgule et fonction d'insertion automatique du point-virgule
5.6 Énoncés qui sont des expressions et énoncés qui ne sont pas des expressions
▣ Chapitre 6 : Types de données
6.1 Type numérique
6.2 Type de chaîne
6.3 Littéraux de modèle
____6.3.1 Chaînes multilignes
____6.3.2 Insertion d'expressions
6.4 Type booléen
6.5 type indéfini
6.6 type nul
6.7 Type de symbole
6.8 Types d'objets
6.9 La nécessité des types de données
6.9.1 Sécurisation et référencement de l'espace mémoire par type de données
6.9.2 Interprétation des valeurs par type de données
6.10 Saisie dynamique
____6.10.1 Langages à typage dynamique et langages à typage statique
____6.10.2 Langages et variables à typage dynamique
▣ Chapitre 7 : Opérateurs
7.1 Opérateurs arithmétiques
____7.1.1 Opérateurs arithmétiques binaires
____7.1.2 Opérateurs arithmétiques unaires
____7.1.3 Opérateur de concaténation de chaînes
7.2 Opérateurs d'affectation
7.3 Opérateurs de comparaison
____7.3.1 Opérateurs d'égalité/de comparaison d'égalité
____7.3.2 Opérateurs de comparaison relationnelle
7.4 Opérateur conditionnel ternaire
7.5 Opérateurs logiques
7.6 Opérateur virgule
7.7 Opérateurs du groupe
7.8 type d'opérateur
7.9 Opérateurs d'exponentiation
7.10 Autres opérateurs
Effets secondaires de l'opérateur 7.11
7.12 Priorité de l'opérateur
7.13 Ordre d'associativité des opérateurs
▣ Chapitre 8 : Instructions de contrôle
8.1 Instruction de bloc
8.2 Énoncés conditionnels
____8.2.1 Instruction if...else
instruction switch ____8.2.2
8.3 Boucles
____8.3.1 pour l'énoncé
____8.3.2 instruction while
____8.3.3 instruction do...while
8.4 instruction de rupture
8.5 Suite de la déclaration
▣ Chapitre 9 : Conversion de type et évaluation des raccourcis
9.1 Qu'est-ce que la conversion de type ?
9.2 Conversion de type implicite
____9.2.1 Convertir en type chaîne
____9.2.2 Conversion en type numérique
____9.2.3 Conversion en type booléen
9.3 Conversion explicite de type
____9.3.1 Convertir en type chaîne
____9.3.2 Conversion en type numérique
____9.3.3 Conversion en type booléen
9.4 Évaluation à court terme
____9.4.1 Évaluation simplifiée à l'aide d'opérateurs logiques
____9.4.2 Opérateurs de chaînage optionnels
____9.4.3 Opérateur de fusion nulle
▣ Chapitre 10 : Littéraux objets
10.1 Qu'est-ce qu'un objet ?
10.2 Création d'objets à l'aide de littéraux d'objet
10.3 Propriétés
10.4 Méthode
10.5 Accès à la propriété
10.6 Mise à jour des valeurs immobilières
10.7 Création dynamique de propriétés
10.8 Supprimer la propriété
10.9 Extensions des littéraux d'objets ajoutées dans ES6
____10.9.1 Sténographie des propriétés
____10.9.2 Noms de propriétés calculés
____10.9.3 Abréviations des méthodes
▣ Chapitre 11 : Comparaison des valeurs primitives et des objets
11.1 Valeurs brutes
____11.1.1 Valeurs immuables
____11.1.2 Chaînes de caractères et immuabilité
____11.1.3 Passage par valeur
11.2 Objets
____11.2.1 Valeurs mutables
____11.2.2 Passage par référence
▣ Chapitre 12 : Fonctions
12.1 Qu'est-ce qu'une fonction ?
12.2 Pourquoi utiliser des fonctions ?
12.3 Littéraux de fonction
12.4 Définition de la fonction
____12.4.1 Déclaration de fonction
____12.4.2 Expressions de fonction
____12.4.3 Chronologie de la création de fonctions et remontée des fonctions
____12.4.4 Fonction constructeur
____12.4.5 Fonctions fléchées
12.5 Appels de fonction
____12.5.1 Paramètres et arguments
____12.5.2 Vérifier l'acquisition
____12.5.3 Nombre maximal de paramètres
____12.5.4 Déclaration de retour
12.6 Passage par référence et modification de l'état externe
12.7 Différentes formes de fonctions
____12.7.1 Fonctions exécutées immédiatement
____12.7.2 Fonctions récursives
____12.7.3 Fonctions imbriquées
____12.7.4 Fonctions de rappel
____12.7.5 Fonctions pures et impures
▣ Chapitre 13 : Portée
13.1 Qu'est-ce qu'une portée ?
13.2 Types de portées
____13.2.1 Portée mondiale et globale
____13.2.2 Régions et étendues régionales
13.3 Chaîne de portée
____13.3.1 Recherche de variable par chaîne de portée
____13.3.2 Recherche de fonction par chaîne de portée
13.4 Étendue au niveau fonctionnel
13.5 Étendue lexicale
▣ Chapitre 14 : Problèmes liés aux variables globales
14.1 Cycle de vie variable
____14.1.1 Cycle de vie des variables locales
____14.1.2 Cycle de vie des variables globales
14.2 Problèmes liés aux variables globales
14.3 Comment empêcher l'utilisation des variables globales
____14.3.1 Fonctions exécutées immédiatement
____14.3.2 Objets d'espace de noms
____14.3.3 Modèle de module
____14.3.4 Modules ES6
▣ Chapitre 15 : mots-clés let et const et portée au niveau du bloc
15.1 Problèmes liés aux variables déclarées avec le mot-clé var
____15.1.1 Autoriser les déclarations de variables en double
____15.1.2 Portée au niveau fonctionnel
____15.1.3 Levage variable
15.2 mot-clé let
____15.2.1 Éviter les déclarations de variables en double
____15.2.2 Portée au niveau du bloc
____15.2.3 Levage variable
____15.2.4 Objets globaux et let
15.3 mot-clé constant
____15.3.1 Déclaration et initialisation
____15.3.2 Pas de réaffectation
____15.3.3 Constantes
____15.3.4 Mot-clé const et objets
15,4 var contre.
laisser contre.
const
▣ Chapitre 16 : Attributs de propriété
16.1 Emplacements internes et méthodes internes
16.2 Attributs de propriété et objets descripteurs de propriété
16.3 Propriétés de données et propriétés d'accès
____16.3.1 Propriétés des données
____16.3.2 Propriétés de l'accesseur
16.4 Définitions des biens
16.5 Empêcher les modifications d'objets
____16.5.1 Interdire les extensions d'objet
____16.5.2 Scellage des objets
____16.5.3 Congélation des objets
____16.5.4 Objets immuables
▣ Chapitre 17 : Création d’objets par fonction constructeur
17.1 Fonction constructeur d'objet
17.2 Fonctions constructeurs
____17.2.1 Problèmes liés à la création d'objets à l'aide de littéraux d'objets
____17.2.2 Avantages de la création d'objets à l'aide de fonctions constructeurs
____17.2.3 Processus de création d'instance de la fonction constructeur
____17.2.4 Méthodes internes [[Call]] et [[Construct]]
____17.2.5 Distinction entre constructeurs et non-constructeurs
____17.2.6 nouvel opérateur
____17.2.7 nouvelle cible
▣ Chapitre 18 : Fonctions et objets de première classe
18.1 Objets de première classe
18.2 Propriétés des objets fonction
____18.2.1 Propriété des arguments
____18.2.2 propriété de l'appelant
____18.2.3 propriété de longueur
____18.2.4 Nom de la propriété
____18.2.5 __proto__ propriété d'accesseur
____18.2.6 propriété prototype
▣ Chapitre 19 : Prototype
19.1 Programmation orientée objet
19.2 Hérédité et prototypes
19.3 Objets prototypes
____19.3.1 __proto__ propriété d'accesseur
____19.3.2 La propriété prototype d'un objet fonction
____19.3.3 Propriété constructeur et fonction constructeur du prototype
19.4 Fonctions constructeurs et prototypes d'objets créés par notation littérale
19.5 Quand créer un prototype
____19.5.1 Fonctions constructeurs définies par l'utilisateur et points de création de prototype
____19.5.2 Fonctions constructeurs intégrées et points de création de prototypes
19.6 Méthode de création d'objets et détermination du prototype
____19.6.1 Prototypes d'objets créés par des littéraux d'objets
____19.6.2 Prototype d'un objet créé par la fonction constructeur Object
____19.6.3 Prototype d'un objet créé par une fonction constructeur
19.7 Chaîne de prototypes
19.8 Remplacement et masquage de propriétés
19.9 Remplacement du prototype
____19.9.1 Remplacement des prototypes par des fonctions constructeurs
____19.9.2 Remplacement des prototypes par des instances
19.10 opérateur instanceof
19.11 Héritage direct
____19.11.1 Héritage direct par Object.create
____19.11.2 Héritage direct par __proto__ à l'intérieur des littéraux d'objet
19.12 Propriétés/Méthodes statiques
19.13 Vérification de l'existence du bien
____19.13.1 dans l'opérateur
____19.13.2 Méthode Object.prototype.hasOwnProperty
19.14 Recensement des biens
____19.14.1 pour...dans la déclaration
____19.14.2 Méthodes Object.keys/values/entries
▣ Chapitre 20 : Mode strict
20.1 Qu'est-ce que le mode strict ?
20.2 Application du mode strict
20.3 Évitez d'appliquer le mode strict globalement
20.4 Évitez d'appliquer le mode strict fonction par fonction.
20.5 Erreurs causées par le mode strict
____20.5.1 Global implicite
____20.5.2 Suppression de variables, de fonctions et de paramètres
____20.5.3 Noms de paramètres dupliqués
____20.5.4 Utilisation dans le cadre d'une enquête
20.6 Modifications dues au mode strict
____20.6.1 ceci des fonctions générales
____20.6.2 arguments objet
▣ Chapitre 21 : Objets intégrés
21.1 Classification des objets JavaScript
21.2 Objets intégrés standard
21.3 Primitives et objets enveloppes
21.4 Objets globaux
____21.4.1 Propriétés globales intégrées
____21.4.2 Fonctions globales intégrées
____21.4.3 Global implicite
▣ Chapitre 22 : ceci
22.1 ce mot-clé
22.2 Style d'appel de fonction et cette liaison
____22.2.1 Appels de fonctions généraux
____22.2.2 Appel de méthode
____22.2.3 Appel de la fonction constructeur
____22.2.4 Appels indirects par les méthodes Function.prototype.apply/call/bind
▣ Chapitre 23 : Contexte d'exécution
23.1 Types de code source
23.2 Évaluation et exécution du code source
23.3 Le rôle du contexte d'exécution
23.4 Pile du contexte d'exécution
23.5 Environnement lexical
23.6 Création du contexte d'exécution et processus de recherche d'identifiants
____23.6.1 Création d'un objet global
____23.6.2 Évaluation globale du code
____24.6.3 Exécution globale du code
____24.6.4 Évaluation du code de la fonction foo
____23.6.5 Exécution du code de la fonction foo
____23.6.6 Évaluation du code de fonction de barre
____23.6.7 Exécution du code de fonction bar
____23.6.8 Fin de l'exécution du code de fonction de barre
____23.6.9 Fin de l'exécution du code de la fonction foo
____23.6.10 Fin de l'exécution globale du code
23.7 Contexte d'exécution et étendue au niveau des blocs
▣ Chapitre 24 : Clôture
24.1 Étendue lexicale
24.2 Emplacements internes des objets de fonction [[Environnement]]
24.3 Fermetures et environnements lexicaux
24.4 Utilisation des fermetures
24.5 Encapsulation et masquage de l'information
24.6 Erreurs courantes
▣ Chapitre 25 : Les cours
25.1 Les classes ne sont-elles qu'un sucre syntaxique pour les prototypes ?
25.2 Définition de classe
Levage de classe 25.3
25.4 Création d'une instance
Méthode 25.5
____25.5.1 constructeur
____25.5.2 Méthodes de prototypage
____25.5.3 Méthodes statiques
____25.5.4 Différence entre les méthodes statiques et les méthodes de prototype
____25.5.5 Caractéristiques des méthodes définies dans une classe
25.6 Processus de création d'instances de classe
25.7 Propriétés
____25.7.1 Propriétés d'instance
____25.7.2 Propriétés de l'accesseur
____25.7.3 Définitions de champs de classe suggérées
____25.7.4 Définition proposée du champ privé
____25.7.5 Définition proposée du champ statique
25.8 Extension de classe par héritage
____25.8.1 Héritage de classes et héritage de fonctions constructeurs
____25.8.2 étend le mot-clé
____25.8.3 Héritage dynamique
____25.8.4 Constructeur d'une sous-classe
____25.8.5 super mot-clé
____25.8.6 Processus de création d'une instance d'une classe héritée
____25.8.7 Extension des fonctions de constructeur intégrées standard
▣ Chapitre 26 : Fonctionnalités supplémentaires des fonctions ES6
26.1 Classification des fonctions
26.2 Méthode
26.3 Fonctions fléchées
____26.3.1 Définition des fonctions fléchées
____26.3.2 Différences entre les fonctions fléchées et les fonctions régulières
____26.3.3 ceci
____26.3.4 super
____26.3.5 arguments
26.4 Paramètres de repos
____26.4.1 Grammaire de base
____26.4.2 Objet des paramètres et arguments du reste
26.5 Valeurs par défaut des paramètres
▣ Chapitre 27 : Tableaux
27.1 Qu'est-ce qu'un tableau ?
27.2 Les tableaux JavaScript ne sont pas des tableaux
27.3 La propriété de longueur et les tableaux creux
27.4 Création d'un tableau
____27.4.1 Littéraux de tableau
____27.4.2 Fonction constructeur de tableau
____27.4.3 Tableau de
____27.4.4 Tableau.from
27.5 Référencement des éléments de tableau
27.6 Ajout et mise à jour des éléments d'un tableau
27.7 Suppression d'un élément de tableau
27.8 Méthodes de tableaux
____27.8.1 Tableau.isArray
____27.8.2 Array.prototype.indexOf
____27.8.3 Array.prototype.push
____27.8.4 Array.prototype.pop
____27.8.5 Array.prototype.unshift
____27.8.6 Array.prototype.shift
____27.8.7 Array.prototype.concat
____27.8.8 Array.prototype.splice
____27.8.9 Array.prototype.slice
____27.8.10 Array.prototype.join
____27.8.11 Array.prototype.reverse
____27.8.12 Array.prototype.fill
____27.8.13 Array.prototype.includes
____27.8.14 Array.prototype.flat
27.9 Fonctions matricielles d'ordre supérieur
____27.9.1 Array.prototype.sort
____27.9.2 Array.prototype.forEach
____27.9.3 Array.prototype.map
____27.9.4 Array.prototype.filter
____27.9.5 Array.prototype.reduce
____27.9.6 Array.prototype.some
____27.9.7 Array.prototype.every
____27.9.8 Array.prototype.find
____27.9.9 Array.prototype.findIndex
____27.9.10 Array.prototype.flatMap
▣ Chapitre 28 : Nombre
28.1 Fonction constructeur de nombre
28.2 Propriétés des nombres
____28.2.1 Numéro.EPSILON
____28.2.2 Nombre.MAX_VALUE
____28.2.3 Nombre.MIN_VALUE
____28.2.4 Nombre.MAX_SAFE_INTEGER
____28.2.5 Nombre.MIN_SAFE_INTEGER
____28.2.6 Nombre.POSITIVE_INFINITY
____28.2.7 Nombre.NÉGATIVE_INFINITY
____28.2.8 Nombre.NaN
28.3 Méthodes numériques
____28.3.1 Nombre.estFin
____28.3.2 Nombre.estEntier
____28.3.3 Nombre.isNaN
____28.3.4 Nombre.isSafeInteger
____28.3.5 Nombre.prototype.toExponential
____28.3.6 Numéro.prototype.àFixé
____28.3.7 Nombre.prototype.àPrécision
____28.3.8 Nombre.prototype.toString
▣ Chapitre 29 : Mathématiques
29.1 Propriétés mathématiques
____29.1.1 Math.PI
29.2 Méthodes mathématiques
____29.2.1 Mathématiques.abs
____29.2.2 Math.round
____29.2.3 Math.ceil
____29.2.4 Mathématiques.étage
____29.2.5 Math.sqrt
____29.2.6 Math.random
____29.2.7 Math.pow
____29.2.8 Math.max
____29.2.9 Math.min
▣ Chapitre 30 : Date
30.1 Fonction constructeur de date
____30.1.1 nouvelle Date()
____30.1.2 nouvelle date (millisecondes)
____30.1.3 nouvelle Date(dateString)
____30.1.4 nouvelle Date(année, mois, jour, heure, minute, seconde, milliseconde])
30.2 Méthode de datation
____30.2.1 Date.maintenant
____30.2.2 Date.parse
____30.2.3 Date.UTC
____30.2.4 Date.prototype.getFullYear
____30.2.5 Date.prototype.setFullYear
____30.2.6 Date.prototype.getMonth
____30.2.7 Date.prototype.setMonth
____30.2.8 Date.prototype.getDate
____30.2.9 Date.prototype.setDate
____30.2.10 Date.prototype.getDay
____30.2.11 Date.prototype.getHours
____30.2.12 Date.prototype.setHours
____30.2.13 Date.prototype.getMinutes
____30.2.14 Date.prototype.setMinutes
____30.2.15 Date.prototype.getSeconds
____30.2.16 Date.prototype.setSeconds
____30.2.17 Date.prototype.getMilliseconds
____30.2.18 Date.prototype.setMilliseconds
____30.2.19 Date.prototype.getTime
____30.2.20 Date.prototype.setTime
____30.2.21 Date.prototype.getTimezoneOffset
____30.2.22 Date.prototype.toDateString
____30.2.23 Date.prototype.toTimeString
____30.2.24 Date.prototype.toISOString
____30.2.25 Date.prototype.toLocaleString
____30.2.26 Date.prototype.toLocaleTimeString
30.3 Exemple d'horloge utilisant la date
▣ Chapitre 31 : Expressions régulières
31.1 Que sont les expressions régulières ?
31.2 Création d'expressions régulières
31.3 Méthodes d'expressions régulières
____31.3.1 RegExp.prototype.exec
____31.3.2 RegExp.prototype.test
____31.3.3 String.prototype.match
31.4 Drapeau
Motif 31,5
____31.5.1 Recherche de chaînes
____31.5.2 Recherche d'une chaîne de caractères arbitraire
____31.5.3 Recherche répétée
____31.5.4 OU Recherche
____31.5.5 NON Recherche
____31.5.6 Recherche par position de départ
____31.5.7 Recherche par dernière localisation
31.6 Expressions régulières fréquemment utilisées
____31.6.1 Vérifier si cela commence par un mot spécifique
____31.6.2 Vérifier si cela se termine par un mot spécifique
____31.6.3 Vérifier si une chaîne de caractères ne contient que des nombres
____31.6.4 Vérifier si le mot commence par un ou plusieurs espaces
____31.6.5 Vérifier si une pièce d'identité est disponible
____31.6.6 Vérifiez si le format de l'adresse électronique est correct
____31.6.7 Vérifier si le format du numéro de téléphone mobile est correct
____31.6.8 Vérification des caractères spéciaux
▣ Chapitre 32 : Cordes
32.1 Fonction constructeur de chaîne
propriété de longueur 32,2
32.3 Méthodes de chaînes de caractères
____32.3.1 String.prototype.indexOf
____32.3.2 Recherche de prototype de chaîne
____32.3.3 String.prototype.includes
____32.3.4 String.prototype.startsWith
____32.3.5 String.prototype.endsWith
____32.3.6 String.prototype.charAt
____32.3.7 String.prototype.substring
____32.3.8 String.prototype.slice
____32.3.9 String.prototype.toUpperCase
____32.3.10 String.prototype.toLowerCase
____32.3.11 String.prototype.trim
____32.3.12 String.prototype.repeat
____32.3.13 String.prototype.replace
____32.3.14 String.prototype.split
▣ Chapitre 33 : Le 7e type de données : Symbole
33.1 Qu'est-ce qu'un symbole ?
33.2 Génération de valeurs de symboles
____33.2.1 Fonction du symbole
____33.2.2 Méthodes Symbol.for / Symbol.keyFor
33.3 Symboles et constantes
33.4 Symboles et clés de propriété
33.5 Dissimulation de symboles et de propriétés
33.6 Extension des symboles et des objets intégrés standard
33.7 Symbole bien connu
▣ Chapitre 34 : Itérables
34.1 Protocole d'itération
____34.1.1 Itérables
____34.1.2 Itérateurs
34.2 Itérables intégrés
34.3 pour...de déclaration
34.4 Itérables et objets de type tableau
34.5 Nécessité d'un protocole d'itération
34.6 Itérables définis par l'utilisateur
____34.6.1 Implémentation d'un itérable personnalisé
____34.6.2 Fonctions qui créent des itérables
____34.6.3 Une fonction qui crée un objet à la fois itérable et itérateur.
____34.6.4 Itérables infinis et évaluation paresseuse
▣ Chapitre 35 : Grammaire diffusée
35.1 Lorsqu'il est utilisé dans la liste des arguments d'une instruction d'appel de fonction
35.2 Lorsqu'il est utilisé à l'intérieur d'un littéral de tableau
____35.2.1 concat
____35.2.2 épissure
____35.2.3 Copie de tableau
____35.2.4 Conversion d'un itérable en tableau
35.3 Lorsqu'il est utilisé à l'intérieur d'un littéral d'objet
▣ Chapitre 36 : Déstructuration de l’allocation
36.1 Allocation par déstructuration de tableau
36.2 Allocation par déstructuration d'objets
▣ Chapitre 37 : Ensembles et cartes
Ensemble 37.1
____37.1.1 Création d'un objet Set
____37.1.2 Vérifier le nombre d'éléments
____37.1.3 Ajout d'éléments
____37.1.4 Vérification de l'existence de l'élément
____37.1.5 Suppression d'un élément
____37.1.6 Suppression en masse d'éléments
____37.1.7 Parcours des éléments
____37.1.8 Opérations ensemblistes
37.2 Carte
____37.2.1 Création d'un objet Carte
____37.2.2 Vérifier le nombre d'éléments
____37.2.3 Ajouter un élément
____37.2.4 Acquisition d'éléments
____37.2.5 Vérification de l'existence de l'élément
____37.2.6 Suppression d'un élément
____37.2.7 Suppression en masse d'éléments
____37.2.8 Parcours des éléments
▣ Chapitre 38 : Le processus de rendu du navigateur
38.1 Demandes et réponses
38.2 HTTP 1.1 et HTTP 2.0
38.3 Analyse du HTML et création du DOM
38.4 Analyse CSS et création de CSSOM
38.5 Création d'un arbre de rendu
38.6 Analyse et exécution JavaScript
38.7 Refusion et redessinage
38.8 L'analyse HTML est interrompue par l'analyse JavaScript
38.9 L'attribut async/defer de la balise script
▣ Chapitre 39 : DOM
39.1 Nœud
____39.1.1 Éléments HTML et objets Node
____39.1.2 Types d'objets nœud
____39.1.3 Structure d'héritage des objets nœuds
39.2 Acquisition des nœuds d'éléments
____39.2.1 Obtention des nœuds d'éléments à l'aide de l'identifiant
____39.2.2 Obtention des nœuds d'éléments à l'aide des noms de balises
____39.2.3 Obtention des nœuds d'éléments à l'aide de la classe
____39.2.4 Obtention des nœuds d'éléments à l'aide de sélecteurs CSS
____39.2.5 Vérifier si un nœud d'élément spécifique peut être acquis
____39.2.6 HTMLCollection et NodeList
39.3 Navigation par nœud
____39.3.1 Nœud de texte vide
____39.3.2 Navigation dans les nœuds enfants
____39.3.3 Vérification de l'existence de nœuds enfants
____39.3.4 Navigation dans les nœuds de texte des nœuds d'éléments
____39.3.5 Navigation du nœud parent
____39.3.6 Navigation entre les nœuds frères
39.4 Obtention des informations sur les nœuds
39.5 Manipulation de texte dans les nœuds d'éléments
____39.5.1 valeur_du_nœud
____39.5.2 Contenu du texte
39.6 Manipulation du DOM
____39.6.1 innerHTML
____39.6.2 méthode insertAdjacentHTML
____39.6.3 Création et ajout de nœuds
____39.6.4 Création et ajout de plusieurs nœuds
____39.6.5 Insertion d'un nœud
____39.6.6 Déplacement des nœuds
____39.6.7 Copier le nœud
____39.6.8 Remplacement de nœud
____39.6.9 Suppression d'un nœud
39.7 Attributs
____39.7.1 Nœuds d'attributs et propriété Attributs
____39.7.2 Manipulation des attributs HTML
____39.7.3 Attributs HTML vs. Propriétés DOM
____39.7.4 attribut de données et propriété de l'ensemble de données
Style 39,8
____39.8.1 Manipulation du style en ligne
____39.8.2 Manipulation de classe
____39.8.3 Styles CSS de référence appliqués aux éléments
Norme DOM 39.9
▣ Chapitre 40 : Événement
40.1 Programmation événementielle
40.2 Types d'événements
____40.2.1 Événements de la souris
____40.2.2 Événements clavier
____40.2.3 Événement principal
____40.2.4 Événements de formulaire
____40.2.5 Événement de changement de valeur
____40.2.6 Événements de mutation du DOM
____40.2.7 Voir l'événement
____40.2.8 Événements liés aux ressources
40.3 Enregistrement d'un gestionnaire d'événements
____40.3.1 Méthode d'attribut du gestionnaire d'événements
____40.3.2 Méthode de propriété du gestionnaire d'événements
____40.3.3 méthode addEventListener
40.4 Suppression d'un gestionnaire d'événements
40.5 Objet événement
____40.5.1 Structure d'héritage des objets événementiels
____40.5.2 Propriétés communes des objets événementiels
____40.5.3 Obtention d'informations sur la souris
____40.5.4 Obtention des informations du clavier
40.6 Propagation des événements
40.7 Délégation à l'événement
40.8 Manipulation du comportement de base des éléments DOM
____40.8.1 Modification du comportement par défaut des éléments DOM
____40.8.2 Prévention de la propagation des événements
40.9 ceci à l'intérieur d'un gestionnaire d'événements
____40.9.1 Méthode d'attribut du gestionnaire d'événements
____40.9.2 Méthode de propriété du gestionnaire d'événements et méthode addEventListener
40.10 Transmission d'arguments aux gestionnaires d'événements
Événement personnalisé 40.11
____40.11.1 Création d'un événement personnalisé
____40.11.2 Envoi d'événements personnalisés
▣ Chapitre 41 : Minuteur
41.1 Planification des appels
41.2 Fonction minuterie
____41.2.1 setTimeout / clearTimeout
____41.2.2 setInterval / clearInterval
41.3 Anti-rebond et étranglement
____41.3.1 Amortissement
____41.3.2 Accélérateur
▣ Chapitre 42 : Programmation asynchrone
42.1 Traitement synchrone et asynchrone
42.2 Boucle d'événements et file d'attente des tâches
▣ Chapitre 43 : Ajax
43.1 Qu'est-ce qu'Ajax ?
43.2 JSON
____43.2.1 Notation JSON
____43.2.2 JSON.stringify
____43.2.3 Analyse JSON
43.3 Requête XMLHttp
____43.3.1 Création d'un objet XMLHttpRequest
____43.3.2 Propriétés et méthodes de l'objet XMLHttpRequest
____43.3.3 Envoi d'une requête HTTP
____43.3.4 Traitement des réponses HTTP
▣ Chapitre 44 : API REST
44.1 Configuration de l'API REST
44.2 Principes de conception des API REST
44.3 Exercices pratiques sur l'API REST avec un serveur JSON
____44.3.1 Installation du serveur JSON
____44.3.2 Créer le fichier db.json
____44.3.3 Exécution du serveur JSON
____44.3.4 Requête GET
____44.3.5 Requête POST
____44.3.6 Requête PUT
____44.3.7 Demande de correctif
____44.3.8 Demande de suppression
▣ Chapitre 45 : Promesse
45.1 Inconvénients du modèle de rappel pour le traitement asynchrone
____45.1.1 L'enfer du rappel
____45.1.2 Limites de la gestion des erreurs
45.2 Créer une promesse
45.3 Méthodes de suivi des promesses
____45.3.1 Promise.prototype.then
____45.3.2 Promise.prototype.catch
____45.3.3 Promise.prototype.finally
45.4 Gestion des erreurs dans les promesses
45.5 Chaînage de promesses
45.6 Méthodes statiques de promesses
____45.6.1 Promise.resolve / Promise.reject
____45.6.2 Promesse.tout
____45.6.3 Promise.race
____45.6.4 Promesse.toutestréglé
45.7 File d'attente des microtâches
45,8 récupération
▣ Chapitre 46 : Générateurs et async/await
46.1 Qu'est-ce qu'un générateur ?
46.2 Définition d'une fonction génératrice
46.3 Objets générateurs
46.4 Mise en pause et reprise des générateurs
46.5 Utilisation des générateurs
____46.5.1 Implémentation des itérables
____46.5.2 Traitement asynchrone
46.6 async/await
____46.6.1 Fonctions asynchrones
____46.6.2 attendre le mot-clé
____46.6.3 Gestion des erreurs
▣ Chapitre 47 : Gestion des erreurs
47.1 La nécessité de la gestion des erreurs
47.2 instruction try...catch...finally
47.3 Objet d'erreur
47.4 instruction de lancement
47.5 Propagation des erreurs
▣ Chapitre 48 : Modules
48.1 Signification générale du module
48.2 JavaScript et modules
48.3 Modules ES6 (ESM)
____48.3.1 Portée du module
____48.3.2 mot-clé d'exportation
____48.3.3 mot-clé d'importation
▣ Chapitre 49 : Création d’un environnement de développement ES6+/ES.NEXT avec Babel et Webpack
49.1 Babel
____49.1.1 Installation de Babel
____49.1.2 Installation des préréglages Babel et création d'un fichier de configuration babel.config.json
____49.1.3 Transpilation
____49.1.4 Installation des plugins Babel
____49.1.5 Test du chargement du module dans le navigateur
49.2 Webpack
____49.2.1 Installation de Webpack
____49.2.2 Installation de babel-loader
____49.2.3 Créer un fichier de configuration webpack.config.js
____49.2.4 Installation de babel-polyfill
Image détaillée

Avis de l'éditeur
Comprenez les concepts de base et les principes de fonctionnement de JavaScript grâce à 269 illustrations et explications qui approfondissent ces principes !
Conçu initialement pour gérer des fonctions auxiliaires simples sur les pages web, JavaScript est un langage de programmation qui peut paraître excessivement convivial.
Ces caractéristiques de JavaScript peuvent parfois être pratiques, mais elles peuvent aussi rendre difficile la compréhension de son fonctionnement interne.
Mais JavaScript n'est plus un langage de programmation à usage limité.
Après de nombreuses évolutions, JavaScript est devenu un langage de développement d'applications véritablement universel, utilisable aussi bien pour la programmation front-end que back-end.
Par conséquent, notre façon d'apprendre JavaScript doit évoluer en conséquence, et ce livre est conçu pour les lecteurs qui souhaitent approfondir leurs connaissances des concepts fondamentaux et des principes de fonctionnement de JavaScript.
Conçu initialement pour gérer des fonctions auxiliaires simples sur les pages web, JavaScript est un langage de programmation qui peut paraître excessivement convivial.
Ces caractéristiques de JavaScript peuvent parfois être pratiques, mais elles peuvent aussi rendre difficile la compréhension de son fonctionnement interne.
Mais JavaScript n'est plus un langage de programmation à usage limité.
Après de nombreuses évolutions, JavaScript est devenu un langage de développement d'applications véritablement universel, utilisable aussi bien pour la programmation front-end que back-end.
Par conséquent, notre façon d'apprendre JavaScript doit évoluer en conséquence, et ce livre est conçu pour les lecteurs qui souhaitent approfondir leurs connaissances des concepts fondamentaux et des principes de fonctionnement de JavaScript.
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 25 septembre 2020
Nombre de pages, poids, dimensions : 956 pages | 1 820 g | 188 × 240 × 39 mm
- ISBN13 : 9791158392239
- ISBN10 : 1158392230
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne