JavaScript est un langage polyvalent doté d'un riche ensemble de fonctionnalités. Que vous soyez débutant ou développeur avancé, maîtriser ces concepts peut vous aider à écrire du code efficace et robuste. Vous trouverez ci-dessous un aperçu complet des principaux sujets et fonctionnalités de JavaScript :
Variables et types de données
Déclarer des variables
-
var : de portée fonctionnelle, peut être redéclaré et hissé.
-
let : de portée bloc, ne peut pas être redéclaré dans le même bloc.
-
const : références immuables à portée de bloc (les valeurs peuvent toujours être modifiables s'il s'agit d'objets).
Types primitifs
-
chaîne, nombre, booléen, nul, non défini, symbole, bigint.
Types de référence
- Objets, tableaux et fonctions.
Structures de contrôle
-
if, else, else if : exécution conditionnelle.
-
switch : syntaxe plus propre pour plusieurs conditions.
Boucles
-
pour, pendant, do-while : pour les tâches itératives.
-
for…of : itère sur des objets itérables comme des tableaux ou des chaînes.
-
for…in : itère sur les propriétés de l'objet.
Fonctions
Types de fonctions
-
Déclarations de fonctions :
function greet() { console.log("Hello!"); }
-
Expressions de fonctions :
const greet = function() { console.log("Hello!"); };
-
Fonctions des flèches :
const greet = () => console.log("Hello!");
Concepts avancés
-
Expression de fonction immédiatement invoquée (IIFE) :
(function() { console.log("IIFE!"); })();
-
Fonctions d'ordre supérieur : fonctions qui prennent d'autres fonctions comme arguments ou les renvoient.
-
Fonctions de rappel : fonctions transmises comme arguments pour un comportement asynchrone ou piloté par des événements.
Promesses
Les promesses sont utilisées pour gérer les opérations asynchrones.
Méthodes clés :
-
Promise.all() : se résout lorsque toutes les promesses sont résolues.
-
Promise.resolve() : renvoie une promesse résolue.
-
Promise.then() : gère les valeurs résolues.
-
Promise.any() : se résout avec la première promesse remplie.
-
Promise.race() : Résout/rejette avec la première promesse de règlement.
-
Promise.reject() : renvoie une promesse rejetée.
Async/Attendre
Sucre syntaxique sur les promesses pour écrire du code asynchrone qui semble synchrone.
Fermetures
Une fermeture est une fonction qui conserve l'accès à sa portée parent même après le retour de la fonction parent.
function greet() { console.log("Hello!"); }
Portée et levage
Types de portée
-
Portée mondiale : Variables accessibles partout.
-
Portée de la fonction : Variables déclarées à l'intérieur d'une fonction.
-
Portée du bloc : Variables déclarées avec let et const à l'intérieur d'un bloc.
Levage
- Les variables déclarées avec var sont hissées mais initialisées comme indéfinies.
- Les déclarations de fonctions sont hissées avec leurs définitions.
Boucle d'événements et file d'attente de tâches
- La boucle d'événements gère l'exécution de code asynchrone en déplaçant les tâches de la file d'attente des tâches (macrotâches) ou des microtâches vers la pile d'appels.
Concepts avancés
Anti-rebond et limitation
-
Anti-rebond : retarde l'exécution jusqu'après une pause dans les événements.
-
Limitation : garantit que l'exécution n'a lieu qu'une seule fois dans un intervalle spécifié.
Curry
Convertit une fonction avec plusieurs arguments en une série de fonctions prenant chacune un argument.
Méthodes intégrées
Méthodes de tableau
- Modification des tableaux : push(), pop(), shift(), unshift(), splice().
- Méthodes non mutantes : map(), filter(), réduire(), forEach().
Méthodes d'objet
-
Object.keys(), Object.values(), Object.entries().
-
Object.assign(), Object.freeze(), Object.seal().
Méthodes de chaînes
-
charAt(), include(), slice(), split(), trim().
Méthodes de date
-
Date.now(), getDate(), getMonth(), setFullYear().
Prototypes et classes
Prototypes
- Chaque objet JavaScript possède un prototype, qui permet l'héritage.
- Comprendre la chaîne de prototypes est crucial pour le JavaScript orienté objet.
Cours
- ES6 a introduit la syntaxe de classe comme sucre syntaxique par rapport aux prototypes.
- Les fonctionnalités incluent les constructeurs, l'héritage, les getters/setters et les méthodes statiques.
Gestion des erreurs
-
try...catch...finally : pour détecter les erreurs d'exécution.
-
Erreurs personnalisées : créez des classes d'erreurs pour une meilleure gestion des erreurs.
Gestion des événements
- Ajout d'écouteurs d'événements : addEventListener().
- Prévenir le comportement par défaut : event.preventDefault().
- Délégation d'événements pour une manipulation efficace du DOM.
Fonctionnalités JavaScript modernes
function greet() { console.log("Hello!"); }
const greet = function() { console.log("Hello!"); };
-
Opérateurs de propagation et de repos :
const greet = () => console.log("Hello!");
Sujets divers
-
LocalStorage et SessionStorage : pour la persistance des données côté client.
-
Expressions régulières (RegExp) : correspondance de modèles dans les chaînes.
-
Générateurs : Fonctions qui génèrent des valeurs paresseusement.
-
JavaScript Proxy : Interceptez et redéfinissez les opérations fondamentales.
-
WeakMap et WeakSet : optimisés pour la gestion de la mémoire.
-
Service Workers : activez la fonctionnalité hors ligne pour les PWA.
-
JSON : analyse et chaîne de données pour les API.
Ce guide tente de couvrir un large éventail de sujets en JavaScript, mais il y a toujours plus à explorer. Si j'ai raté une fonctionnalité ou si vous souhaitez plus de détails, n'hésitez pas à partager vos commentaires !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn