Maison  >  Article  >  interface Web  >  Gemmes JavaScript cachées que vous devriez utiliser dans chaque projet en 4

Gemmes JavaScript cachées que vous devriez utiliser dans chaque projet en 4

Barbara Streisand
Barbara Streisandoriginal
2024-11-22 12:50:16800parcourir

Hidden JavaScript Gems You Should Use in Every Project in 4

JavaScript est l'épine dorsale du développement Web moderne, et avec son écosystème en constante évolution, il y a toujours quelque chose de nouveau et d'excitant à explorer. Dans cet article, nous allons découvrir 10 joyaux cachés (méthodes, API et techniques JavaScript) qui peuvent dynamiser vos projets en 2024. Chacune de ces fonctionnalités est conçue pour gagner du temps, simplifier le développement ou ouvrir de nouvelles possibilités.

  1. API internationale pour le formatage L'API Intl est un moteur d'internationalisation et de formatage. Qu'il s'agisse de dates, de chiffres ou de devises, cette API facilite la présentation des données dans un format convivial et spécifique aux paramètres régionaux.

Exemple : Formatage de la devise

const formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
});
console.log(formatter.format(123456.789)); // Output: "3,456.79"

Cas d'utilisation : plateformes de commerce électronique ou toute application affichant des valeurs monétaires.

Pourquoi c'est un joyau : vous pouvez gérer plusieurs paramètres régionaux avec une seule API, évitant ainsi les complexités du formatage manuel.

  1. structuredClone() pour la copie approfondie Dites adieu à l'écriture de fonctions de copie approfondie personnalisées ou au recours à des bibliothèques tierces comme lodash. structuréClone() est une méthode JavaScript intégrée qui fournit un moyen propre et efficace de cloner en profondeur des objets.

Exemple : Cloner un objet

const original = { name: 'John', details: { age: 30 } };
const clone = structuredClone(original);

clone.details.age = 31;
console.log(original.details.age); // Output: 30

Cas d'utilisation : Clonage d'objets imbriqués dans la gestion d'état ou le traitement de données.

Pourquoi c'est un joyau : c'est rapide, simple et fonctionne avec des structures de données complexes telles que des cartes, des ensembles et même des dates.

  1. API Signal pour les demandes de récupération avortables L'API Signal vous permet d'abandonner les requêtes de récupération, vous donnant ainsi plus de contrôle sur vos opérations réseau. Ceci est particulièrement utile dans les scénarios où les utilisateurs peuvent s'éloigner ou déclencher plusieurs requêtes.

Exemple : Abandonner une demande de récupération

const controller = new AbortController();

fetch('https://api.example.com/data', { signal: controller.signal })
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Fetch aborted:', error));

// Abort the request
controller.abort();

Cas d'utilisation : améliorer les performances des composants de recherche ou de saisie semi-automatique en annulant les requêtes inutiles.

Pourquoi c'est un joyau : il évite les traitements inutiles et économise la bande passante, améliorant ainsi les performances.

  1. flatMap() pour l'aplatissement et le mappage des tableaux flatMap() combine la puissance de map() et flat(), vous permettant de transformer et d'aplatir des tableaux en une seule fois.

Exemple : Aplatir et Transformer

const nested = [[1], [2, 3], [4]];
const result = nested.flatMap(num => num.map(x => x * 2));
console.log(result); // Output: [2, 4, 6, 8]

Cas d'utilisation : Travailler avec des données hiérarchiques ou transformer des tableaux avec des structures imbriquées.

Pourquoi c'est un joyau : il simplifie les opérations qui nécessiteraient autrement plusieurs méthodes chaînées.

  1. WeakRef pour la gestion de la mémoire L'objet WeakRef vous permet de créer des références faibles à des objets, évitant ainsi qu'ils soient conservés inutilement en mémoire. Ceci est utile pour gérer la mémoire dans les applications volumineuses.

Exemple : Utilisation de WeakRef

let obj = { name: 'Memory Intensive Object' };
const ref = new WeakRef(obj);

// Access the object
console.log(ref.deref()?.name); // Output: "Memory Intensive Object"

// Dereference to free memory
obj = null;
console.log(ref.deref()); // Output: undefined

Cas d'utilisation : Gestion d'objets en cache ou d'applications gourmandes en données.

Pourquoi c'est un joyau : il aide à réduire les fuites de mémoire et à optimiser l'utilisation des ressources.

  1. Import dynamique() pour le fractionnement de code La fonction Dynamic import() vous permet de charger des modules de manière asynchrone, ce qui la rend idéale pour améliorer les performances des applications en divisant le code en morceaux.

Exemple : chargement paresseux d'un module

const formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
});
console.log(formatter.format(123456.789)); // Output: "3,456.79"

Cas d'utilisation : Chargement progressif des ressources non critiques dans les SPA.

Pourquoi c'est un joyau : c'est un incontournable pour optimiser les performances et l'expérience utilisateur.

  1. Intl.RelativeTimeFormat pour l'heure lisible par l'homme L'API Intl.RelativeTimeFormat facilite le formatage des heures relatives telles que « il y a 3 jours » ou « dans 2 heures ».

Exemple : Affichage du temps relatif

const original = { name: 'John', details: { age: 30 } };
const clone = structuredClone(original);

clone.details.age = 31;
console.log(original.details.age); // Output: 30

Cas d'utilisation : applications de réseaux sociaux ou blogs affichant des horodatages.

Pourquoi c'est un joyau : il simplifie une tâche courante tout en prenant en charge plusieurs langues.

  1. Promise.allSettled() pour gérer plusieurs promesses Lorsque vous travaillez avec plusieurs promesses, Promise.allSettled() garantit que vous obtenez des résultats pour tous, qu'ils réussissent ou échouent.

Exemple : gestion de plusieurs promesses

const controller = new AbortController();

fetch('https://api.example.com/data', { signal: controller.signal })
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Fetch aborted:', error));

// Abort the request
controller.abort();

Cas d'utilisation : récupération de données à partir de plusieurs API dont certaines peuvent échouer.

Pourquoi c'est un joyau : il fournit des résultats complets sans court-circuit en cas de panne.

  1. Chaînage facultatif pour un accès sécurisé à la propriété Le chaînage facultatif (?.) est une bouée de sauvetage pour accéder aux propriétés profondément imbriquées sans se soucier des erreurs nulles ou non définies.

Exemple : accès aux propriétés imbriquées

const nested = [[1], [2, 3], [4]];
const result = nested.flatMap(num => num.map(x => x * 2));
console.log(result); // Output: [2, 4, 6, 8]

Cas d'utilisation : Travailler avec des API ou des structures de données complexes.

Pourquoi c'est un joyau : il réduit le passe-partout et évite les erreurs d'exécution.

  1. API d'URL pour la manipulation d'URL L'API URL fournit un moyen élégant de manipuler les URL dans le navigateur ou Node.js.

Exemple : Modification d'une URL

let obj = { name: 'Memory Intensive Object' };
const ref = new WeakRef(obj);

// Access the object
console.log(ref.deref()?.name); // Output: "Memory Intensive Object"

// Dereference to free memory
obj = null;
console.log(ref.deref()); // Output: undefined

Cas d'utilisation : gestion des chaînes de requête dans les applications Web.

Pourquoi c'est un joyau : c'est plus fiable et plus lisible que la concaténation de chaînes.

Conclusion
JavaScript regorge de trésors cachés qui peuvent rendre votre vie de développeur plus facile et plus efficace. En incorporant ces API, méthodes et techniques dans vos projets, vous écrirez un code plus propre, plus maintenable et plus performant en 2024.

Lequel de ces joyaux avez-vous hâte d'utiliser dans votre prochain projet ? Partagez vos réflexions dans les commentaires ci-dessous !

Restez connecté
Pour plus de conseils et de didacticiels JavaScript :

? Visitez notre site Web : GladiatorsBattle.com
? Suivez-nous sur Twitter : @GladiatorsBT
? Explorez nos articles DEV : @GladiatorsBT
? Découvrez des démos interactives sur CodePen : HanGPIIIErr
Construisons ensemble quelque chose d'incroyable ! ?

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