Compétences modern-javascript-patterns
📦

modern-javascript-patterns

Sûr

Modern JavaScript Patterns

Également disponible depuis: wshobson

Écrivez du JavaScript plus propre et plus maintenable en utilisant les fonctionnalités ES6+ comme async/await, la déstructuration, les opérateurs de propagation et les motifs de programmation fonctionnelle.

Prend en charge: Claude Codex Code(CC)
📊 71 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "modern-javascript-patterns". Convert this callback to async/await: function getData(id, callback) { fetch('/api/' + id) .then(res => res.json()) .then(data => callback(null, data)) .catch(err => callback(err)); }

Résultat attendu:

Version refactorisée avec async/await :

async function getData(id) {
try {
const res = await fetch(`/api/${id}`);
const data = await res.json();
return data;
} catch (err) {
throw err;
}
}

Avantages :
- Code plus propre, à l'apparence synchrone
- Meilleure gestion des erreurs avec try/catch
- Plus facile à déboguer et maintenir

Utilisation de "modern-javascript-patterns". Apply destructuring to this code: const user = { name: 'John', age: 30, address: { city: 'NYC' } }; const name = user.name; const city = user.address.city;

Résultat attendu:

Refactorisé avec déstructuration :

const user = { name: 'John', age: 30, address: { city: 'NYC' } };
const { name, address: { city } } = user;

Ou avec renommage :
const { name: userName, address: { city: userCity } } = user;

Audit de sécurité

Sûr
v1 • 2/25/2026

All 89 static findings are FALSE POSITIVES. The scanner misinterprets JavaScript code examples in markdown documentation as security risks. Backticks in code blocks are not shell commands. References to fetch() and dynamic import() are legitimate ES6+ patterns being taught. This is a safe educational skill about modern JavaScript patterns.

2
Fichiers analysés
949
Lignes analysées
5
résultats
1
Total des audits

Problèmes à risque élevé (1)

Weak Cryptographic Algorithm Detection (FALSE POSITIVE)
Scanner detected 'weak cryptographic algorithm' at lines 78, 80, 92, 101, 114, 118, 880. This is a FALSE POSITIVE - the scanner misinterprets JavaScript code examples (destructuring, toLowerCase(), spread operators) as cryptographic code. This is educational documentation about JavaScript syntax patterns.
Problèmes à risque moyen (2)
External Command Detection (FALSE POSITIVE)
Scanner detected 'Ruby/shell backtick execution' at 61 locations. This is a FALSE POSITIVE - the scanner detects backticks (`) in markdown code blocks. These are JavaScript code examples in markdown documentation, NOT shell commands.
Dynamic Import Detection (FALSE POSITIVE)
Scanner detected 'Dynamic import() expression' at lines 727, 728, 732. This is a FALSE POSITIVE - dynamic import() is a legitimate ES6+ JavaScript feature for lazy-loading modules. This is a core pattern being taught by this skill.
Problèmes à risque faible (2)
Network Access Detection (FALSE POSITIVE)
Scanner detected 'Fetch API call' and 'Hardcoded URL' at lines 337, 387, 393, 789, 906-910. This is a FALSE POSITIVE - these are code examples showing how to use the Fetch API and links to legitimate educational resources (MDN, JavaScript.info, You Don't Know JS).
System Reconnaissance Detection (FALSE POSITIVE)
Scanner detected 'system reconnaissance' at 6 locations. This is a FALSE POSITIVE - the scanner misinterprets references to async iteration and system-related programming patterns as reconnaissance.
Audité par: claude

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
50
Communauté
81
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

Modernisation de Code Legacy

Refactorisez du code JavaScript plus ancien basé sur des callbacks pour utiliser Promises et async/await pour une meilleure lisibilité et gestion des erreurs.

Apprentissage du JavaScript Moderne

Comprenez et appliquez les fonctionnalités ES6+ comme la déstructuration, les opérateurs de propagation et les modules pour écrire du code plus expressif.

Améliorations de Revue de Code

Appliquez des motifs JavaScript modernes lors des revues de code pour suggérer des implémentations plus propres et plus maintenables.

Essayez ces prompts

Convertir un Callback en Async/Await
Convertissez cette fonction JavaScript basée sur un callback pour utiliser la syntaxe async/await. Montrez le code avant et après.

[Insérez le code callback ici]
Appliquer la Déstructuration
Refactorisez ce code JavaScript pour utiliser la déstructuration d'objets et de tableaux. Rendez le code plus concis et lisible.

[Insérez le code avec des propriétés imbriquées ou des tableaux ici]
Implémenter un Pipeline Fonctionnel
Transformez ce code JavaScript impératif pour utiliser la programmation fonctionnelle avec map, filter et reduce. Montrez une approche de pipeline chaînable.

[Insérez le code de transformation basé sur des boucles ici]
Chargement Paresseux d'un Module
Montrez-moi comment implémenter le chargement paresseux avec dynamic import() pour ce module de fonctionnalité. Incluez la gestion des erreurs et la logique de chargement conditionnel.

Bonnes pratiques

  • Utilisez const par défaut, let uniquement quand une réassignation est nécessaire
  • Préférez les fonctions fléchées pour les callbacks pour éviter les problèmes de liaison this
  • Utilisez async/await plutôt que les chaînes de Promises pour une meilleure lisibilité

Éviter

  • Utiliser var au lieu de const/let - manque le scope de bloc
  • Callback hell avec des fonctions anonymes imbriquées
  • Mutation directe des objets au lieu d'utiliser des motifs immuables

Foire aux questions

Quelle est la différence entre let et const ?
Utilisez const par défaut pour les valeurs qui ne seront pas réassignées. Utilisez let uniquement lorsque vous devez réassigner une variable. Évitez var dans le JavaScript moderne.
Quand dois-je utiliser async/await plutôt que les Promises ?
Utilisez async/await pour du code asynchrone plus propre et plus lisible. Cela fonctionne bien pour les opérations async séquentielles. Utilisez Promise.all pour les opérations parallèles.
Qu'est-ce que la déstructuration en JavaScript ?
La déstructuration vous permet d'extraire des valeurs de tableaux ou des propriétés d'objets dans des variables distinctes en utilisant une syntaxe concise.
Quels sont les avantages des fonctions fléchées ?
Les fonctions fléchées ont une syntaxe plus courte, une liaison this lexicale (hérite de this du scope environnant) et ne peuvent pas être utilisées comme constructeurs.
À quoi sert l'opérateur de propagation ?
L'opérateur de propagation (...) étend les itérables (tableaux, chaînes) en éléments individuels. Il est utilisé pour la concaténation de tableaux, le clonage d'objets et les arguments de fonctions.
Comment les imports dynamiques améliorent-ils les performances ?
dynamic import() charge les modules à la demande, permettant le code splitting. Cela réduit la taille initiale du bundle et améliore le temps de chargement de la page.

Détails du développeur

Structure de fichiers