Développement en JavaScript - cours 39 500 roubles. du Centre de Formation IBS, formation 40 heures, Date 26 novembre 2023.
Miscellanea / / November 28, 2023
Sujets couverts:
1. Langage Javascript :
Versions et implémentations JavaScript ;
Domaines d'application de JavaScript (navigateur, serveur, développement mobile) ;
Types de données: chaîne, nombre, booléen (le concept de vrai et de faux) ;
Opérateurs, priorité des opérateurs ;
Déclaration des variables: var, const, let ;
Boucles: while, for, for… in, for…of ;
Travailler avec des nombres et des chaînes ;
Valeurs nulles et non définies: différences et finalités d'application ;
Travailler avec la console ;
Exceptions en JavaScript.
2. JSON, objets et tableaux :
Format JSON, exemples ;
JSON.parse et stringify ;
Objets, travaillant avec la classe Object ;
Créer des objets (en utilisant le littéral {}, l'opérateur new, la méthode create) ;
Héritage prototypique, référence __proto__ ;
Getters et setters ;
L'opérateur in et hasOwnProperty, le concept de propriétés énumérables ;
méthode toString(), appelant et remplaçant la méthode ;
méthode valueOf(), appelant et remplaçant la méthode ;
Création de tableaux: littéraux et new Array();
Changement automatique de la longueur du tableau ;
Obtenir et définir la longueur du tableau, tronquer le tableau ;
Utilisation des méthodes join() et concat() ;
À l'aide de la méthode sort, définition de l'ordre de tri du tableau ;
Utiliser les méthodes de tranche et d'épissure ;
Utilisation des méthodes push, pop, shift, unshift: création d'une pile ou d'une file d'attente.
3.Travailler avec des dates et des chaînes :
Utilisation du constructeur new Date() ;
Comprendre la représentation informatique de la date sous forme d'heure avec Epoch ;
En utilisant getTime() et setTime();
Analyse de la représentation sous forme de chaîne des dates ;
Options de création de chaînes en JS: utilisation de guillemets simples et doubles ;
Interpolation de chaîne (chaîne en apostrophes) ;
Échapper aux caractères spéciaux dans une chaîne ;
Concaténation de chaînes, conversion en majuscules et minuscules ;
Trouver une sous-chaîne en utilisant indexOf() et lastIndexOf();
Sélection d'une sous-chaîne à l'aide de substring() et substr()
Utilisation des méthodes Include, EndsWith, StartWith.
4. Utilisation de JavaScript dans le navigateur: modèle DOM :
Gestion de la fenêtre du navigateur, du document, des événements et du style (styles CSS) ;
L'objet fenêtre et ses utilisations ;
Connecter du code JavaScript à une page HTML ;
L'ordre d'exécution des scripts sur la page ;
Mise en cache des scripts, serveurs CDN, rechargement forcé JavaScript ;
Travailler avec des liens, connecter JavaScript aux liens ;
L'événement onload et son utilisation ;
Attaques XSS sur le site ;
Travailler avec le DOM: utiliser window, document, childNodes ;
Manipuler un document à l'aide du DOM: créer, supprimer, déplacer des éléments ;
Utilisation de getElementById(), getElementsByTagName(), getElementsByClassName() pour rechercher des éléments sur la page ;
Travailler avec les méthodes et propriétés de HTMLDocument et HTMLElement.
5. Travailler avec des événements dans le navigateur :
Le concept de programmation événementielle ;
Gestionnaires d'événements et auditeurs ;
Connexion des gestionnaires à l'aide de addEventListener();
Propriétés et méthodes de la classe Event ;
Propagation des événements vers le haut (bullage) et vers le bas (capture) ;
Arrêtez la propagation ;
Événements de fenêtre ;
Événements de souris et de clavier, propriétés d'événements spéciaux ;
Événements de formulaire ;
6. Travailler avec CSS et gérer les styles :
Norme CSS, propriétés CSS de base ;
Styles généraux et styles d'éléments individuels ;
Styles en cascade ;
Sélecteurs CSS ;
Modifier CSS avec JavaScript ;
Rembourrage: marge, remplissage, bordure ;
Contrôler la visibilité des éléments: visibilité et affichage ;
Positionnement des éléments: absolu, fixe, relatif, mise en haut et à gauche ;
Unités de mesure px, pt et autres ;
Débordement d'élément et contrôle via la propriété overflow ;
Gestion des couches de documents: propriété zIndex ;
Animation, mouvement des éléments ;
Travailler avec des classes, définir className ;
Travailler avec la transparence et les transitions ;
méthode querySelectorAll().
7. Travailler avec des modules en JavaScript, gestionnaire de packages NPM, générateur Webpack :
Raisons d'utiliser les modules ;
Exporter depuis le module ;
Importer depuis le module ;
Réexportation ;
Travailler avec NPM, fichier package.json ;
dossier node_modules, téléchargement de packages à l'aide de NPM ;
Installation globale et locale des packages ;
Utiliser Webpack pour créer un projet ;
Chargeurs CSS et TypeScript ;
Configuration webpack.config.js ;
Création de bundles, compression ;
plugins de packs Web ;
Utilisation d'anciens systèmes de modularité – CommonJS et AMD ;
Utilisation de CommonsChunkPlugin, plusieurs points d'entrée ;
Modules HMR échangeables à chaud.
8. Classes et héritage en JavaScript :
Héritage du prototype, référence __proto__ ;
Prototype d'objet ;
En utilisant instanceof;
Classe de mots-clés, création de classes ;
Mot-clé super ;
En utilisant la méthode Object.assign() ;
Utilisation de la méthode Object.defineProperty() ;
Getters et setters ;
Opérateur de propagation pour travailler avec des objets et des tableaux ;
Déstructurer un tableau et un objet.
9. Programmation fonctionnelle en JavaScript :
Fonctionne comme des variables ;
Arguments du tableau ;
Classe de fonctions, méthodes call() et apply() ;
La méthode bind(), définissant ceci et certains paramètres à l'aide de bind ;
Fermetures en JavaScript ;
Encapsuler des valeurs à l'aide de fermetures ;
Création d'une fonction via le constructeur Function: construction d'une chaîne ;
Fonctions fléchées, exemples de leur application ;
Manipulation de tableaux fonctionnels: find, findIndex, filter ;
Exemples d'utilisation de map/filter/reduce pour traiter les données dans un tableau.
10. Immuabilité, tests, modèle MVC :
Le concept d'immuabilité, ses avantages ;
Méthodes mutables et immuables pour modifier des objets et des tableaux ;
Concept et avantages du DOM Virtuel ;
Tester des fonctions immuables, en utilisant Jest ;
La mémorisation, ses avantages ;
Erreurs de base et recommandations lors de l'utilisation de la programmation fonctionnelle ;
Modèle MVC, création d'interface utilisateur ;
Aperçu des principales bibliothèques de développement d'interfaces: Angular, React, Vue.
11. Asynchronie en JavaScript. Promesses:
Le concept et la nécessité de l'asynchronie ;
Travailler avec setTimeout, setInterval, clearTimeout ;
Fonctions de rappel (rappels) ;
Perdre cela lorsque vous travaillez avec une fonction de rappel. Solutions (en utilisant des fonctions de liaison, de flèche, etc.) ;
Le concept de promesses, renvoyant une promesse à partir d'une fonction asynchrone ;
Méthode Promise.all(), son application ;
syntaxe async/wait, cas d'utilisation, limitations ;
Gestion des situations d'urgence: rejet de promesse, gestion des exceptions pour les appels asynchrones.
12. Travailler avec le serveur. Protocole HTTP. Prestations REPOS :
Protocole HTTP ;
En-têtes et méthodes HTTP (GET, POST, PUT, DELETE, autres), transfert de données ;
Serveurs HTTP (présentation) ;
Codes de réponse du serveur HTTP ;
Utiliser des formulaires pour soumettre des données ;
Transférer des données vers le serveur à l'aide d'AJAX ;
Architecture REST: avantages et fonctionnalités ;
Implémentation de CRUD (opérations Créer/Lire/Mettre à jour/Supprimer) lorsque vous travaillez avec REST ;
Utiliser la fonction fetch() pour recevoir et envoyer des données ;
Documenter les services REST à l'aide de Swagger ;
Concept HATEOAS, application ;
13. Bibliothèque AXIOS. Protocole WebSocket :
Comparaison de la bibliothèque Axios de haut niveau et de l'utilisation de fetch();
Requêtes GET et POST dans Axios ;
Utiliser async/await avec Axios ;
Gestion des erreurs lors de l'utilisation d'Axios ;
Annuler une demande via Axios ;
Protocole WebSocket ;
Exemples d'utilisation de WebSocket, comparaison avec HTTP ;
Animations HTML ;
Note
Les supports de cours sont présentés en anglais.