À propos du projet

Guide de style JavaScript d'Airbnb — « Une approche globalement raisonnable de JavaScript. » Ce dépôt est un ensemble bien connu de conventions pour écrire du JavaScript propre et cohérent, en particulier du code ES6+ moderne. Il est maintenu parallèlement à un paquet de configuration ESLint (`eslint-config-airbnb`) et à une variante de base (`eslint-config-airbnb-base`). Le guide suppose l'utilisation de Babel et recommande des paquets d'accompagnement tels que `babel-preset-airbnb` et `airbnb-browser-shims` pour les polyfills. Le guide est organisé en sections courtes et numérotées, avec justification et exemples de code montrant les motifs « mauvais » vs « bons ». Les sujets couverts incluent : - Types et références : préférer `const`, utiliser `let` lorsqu'une réaffectation est nécessaire, éviter `var`. - Objets et tableaux : syntaxe littérale, notation abrégée, spreads et accès sécurisé aux propriétés. - Déstructuration pour les objets et les tableaux. - Chaînes de caractères : guillemets simples, littéraux de gabarit pour l'interpolation, éviter `eval()`. - Fonctions : expressions nommées, enveloppement IIFE, ne jamais déclarer de fonctions à l'intérieur de blocs, utiliser les paramètres rest au lieu de `arguments`. - Fonctions fléchées, classes et constructeurs, modules, itérateurs et générateurs. - Propriétés, variables, hoisting, opérateurs de comparaison et égalité, blocs, instructions de contrôle. - Commentaires, espaces blancs, virgules, points-virgules. - Conversion et coercition de types, conventions de nommage, accesseurs, événements. - Notes d'utilisation de jQuery, compatibilité ECMAScript 5, styles ES6+, bibliothèque standard, tests et performance. - Ressources, liens communautaires, traductions, contributeurs et licence. Chaque règle est accompagnée des noms de règles ESLint applicables lorsqu'ils sont pertinents, ce qui rend le guide utile à la fois comme documentation et comme base pour le linting automatisé. Il renvoie également à des guides de style associés : ES5 (obsolète), React, CSS-in-JavaScript, CSS & Sass, et Ruby. Le dépôt a été traduit dans un certain nombre de langues et est largement référencé dans la communauté JavaScript.