Fermer

mars 4, 2024

Déverrouillage des fonctionnalités JavaScript avancées / Blogs / Perficient

Déverrouillage des fonctionnalités JavaScript avancées / Blogs / Perficient


Introduction
JavaScript a connu une révolution avec la sortie d’ES6, qui a ajouté des fonctionnalités de pointe qui ont augmenté son potentiel. Cette enquête explore ces fonctionnalités avancées d’ES6, en mettant en lumière leurs subtilités et en montrant comment elles permettent aux développeurs de produire un code plus efficace, plus expressif et plus gérable. Les développeurs peuvent gérer avec confiance et compétence les difficultés du développement JavaScript actuel en saisissant et en utilisant ces améliorations.

1.Proxies : Un objet proxy encapsule un autre objet et intercepte des opérations telles que des propriétés de lecture/écriture. Il peut choisir de gérer ces opérations de manière indépendante ou de laisser l’objet d’origine les gérer de manière transparente. Les proxys sont utilisés dans de nombreuses bibliothèques et certains frameworks de navigateurs.

Image 1
Voici un gestionnaire l’objet est créé avec un obtenir méthode. Le obtenir La méthode est un piège pour obtenir une valeur de propriété. Dans ce cas, il vérifie si la propriété (soutenir) existe dans le cible objet. Si c’est le cas, il renvoie la valeur correspondante ; sinon, il renvoie la chaîne « Introuvable ».

2.Réfléchir
Reflection fournit un ensemble de méthodes pour inspecter et manipuler des objets au moment de l’exécution, offrant ainsi une approche plus dynamique de la programmation.

Image2
L’exemple montre comment Reflect.ownKeys() peut être utilisé pour récupérer un tableau de clés de propriété à partir d’un objet. Il convient de noter que propresClés renvoie tous les types de clés (chaîne et symbole) et inclut des propriétés énumérables et non énumérables.

3.Générateurs

Les générateurs en JavaScript offrent un moyen puissant de travailler avec des itérables et de contrôler le flux de code asynchrone. Ils ont été introduits dans ECMAScript 6 (ES6) et sont désignés par une fonction avec un astérisque (fonction*). Les générateurs permettent de suspendre et de reprendre l’exécution d’une fonction, ce qui est particulièrement utile pour les opérations asynchrones.Image3

Le code définit une fonction génératrice donnant les valeurs 5, 10 et 15. Il crée un objet générateur et imprime les résultats de trois opérations consécutives. next() appels, affichant les valeurs produites par chacun yield déclaration.

4.Async/Attendre

Les fonctions asynchrones et le attendre Le mot clé simplifie le code asynchrone, le rend plus lisible et maintient le flux logique séquentiel. Image4
Le code définit une fonction fetchData qui renvoie une promesse, simulant la récupération de données après un délai. A l’intérieur de cette fonction, il y a une fonction asynchrone fetchDataAsync qui utilise await pour récupérer le résultat de fetchData et l’enregistre une fois la promesse résolue. Cependant, il y a un problème de structure : fetchDataAsync est défini à l’intérieur fetchData mais n’est pas appelé. Pour que ça marche, fetchDataAsync devrait être déplacé à l’extérieur fetchDatapuis j’appelle fetchDataAsync() enregistrera ‘Données récupérées !’ après un délai de 2 secondes.

5.Module

Un module est un moyen d’organiser et de structurer le code en encapsulant les fonctionnalités associées dans des fichiers ou des unités séparés. Les modules permettent de diviser une base de code volumineuse en éléments plus petits et plus faciles à gérer, ce qui facilite sa maintenance, sa compréhension et sa collaboration.Image5

Certainement! Cet exemple se compose de deux fichiers :

  1. math.js (file1) : C’est un module qui exporte une fonction add qui prend deux paramètres a et b et renvoie leur somme.
  2. app.js (file2) : il importe le add fonction de math.js puis l’utilise pour ajouter 2 et 3, imprimant le résultat 5à la console avec console.log(add(2,3)).

6.Carte

Map contient les paires clé-valeur dans lesquelles les valeurs de tout type peuvent être utilisées comme clés ou valeurs. Un objet Map se souvient toujours de l’ordre d’insertion réel des clés. Les clés et les valeurs d’un objet Map peuvent être des primitives ou des objets. Il renvoie la carte nouvelle ou vide.

Image6

Le code crée un Map nommé myMapy ajoute une paire clé-valeur (« clé », « valeur ») à l’aide de l’attribut set méthode, puis récupère et imprime la valeur associée à la clé ‘key’ à l’aide de la get méthode. Le résultat est « valeur ».

Conclusion:Les fonctionnalités avancées d’ECMAScript 6 ont transformé JavaScript en un langage plus polyvalent et plus puissant. Les proxys, la réflexion, les générateurs, l’async/wait, les modules et les structures de données avancées ne sont que quelques exemples des innovations qui ont élevé le développement JavaScript vers de nouveaux sommets. Au fur et à mesure que vous poursuivez votre parcours dans la maîtrise de JavaScript, ces fonctionnalités vous permettront d’écrire du code plus concis, expressif et efficace. Adoptez ces fonctionnalités avancées, expérimentez-les et libérez le véritable potentiel du développement JavaScript moderne.






Source link