Об этом проекте

Руководство по стилю JavaScript от Airbnb — «Преимущественно разумный подход к JavaScript». Этот репозиторий — известный набор соглашений для написания чистого, последовательного JavaScript, особенно современного кода ES6+. Он поддерживается вместе с пакетом конфигурации ESLint (`eslint-config-airbnb`) и его базовым вариантом (`eslint-config-airbnb-base`). Руководство предполагает использование Babel и рекомендует сопутствующие пакеты, такие как `babel-preset-airbnb` и `airbnb-browser-shims` для полифилов. Руководство организовано в короткие пронумерованные разделы с обоснованиями и примерами кода, показывающими «плохие» и «хорошие» шаблоны. Рассматриваемые темы включают: - Типы и ссылки: предпочитайте `const`, используйте `let`, когда требуется переназначение, избегайте `var`. - Объекты и массивы: литеральный синтаксис, сокращения, spread-операторы и безопасный доступ к свойствам. - Деструктуризация объектов и массивов. - Строки: одинарные кавычки, шаблонные литералы для интерполяции, избегайте `eval()`. - Функции: именованные выражения, обёртка IIFE, никогда не объявляйте функции внутри блоков, используйте rest-параметры вместо `arguments`. - Стрелочные функции, классы и конструкторы, модули, итераторы и генераторы. - Свойства, переменные, поднятие (hoisting), операторы сравнения и равенство, блоки, управляющие инструкции. - Комментарии, пробелы, запятые, точки с запятой. - Приведение и преобразование типов, соглашения об именовании, аксессоры, события. - Замечания по использованию jQuery, совместимость с ECMAScript 5, стили ES6+, стандартная библиотека, тестирование и производительность. - Ресурсы, ссылки на сообщество, переводы, участники и лицензия. Каждое правило сопровождается применимыми названиями правил ESLint, где это уместно, что делает руководство полезным как в качестве документации, так и в качестве основы для автоматизированного линтинга. Оно также ссылается на связанные руководства по стилю: ES5 (устаревшее), React, CSS-in-JavaScript, CSS и Sass, а также Ruby. Репозиторий был переведён на ряд языков и широко цитируется в сообществе JavaScript.