- Важно ❗️Для написания нового функционала/логики запрещено использование библиотеки jQuery. JQuery разрешено использовать если нет других вариантов расширения функционала плагинов и библиотек (прим. WooCommerce).
- Важно ❗️При написании нового функционала/логики необходимо использовать возможности стандарта ECMAScript 2015 и выше.
- При объявлении переменных предпочтение отдается ключевым словам
letиconst. Переменные объявляются черезvarтолько при наличии проблем с поддержкой ECMAScript 2015 - Все переменные должны быть названы в верблюжьем регистре (camelCase). Исключения составляют константы, которые должны именоваться прописными буквами в константном регистре (CONSTANT_CASE) и названия классов, функций-конструкторов и перечислений, которые именуются с заглавной буквы (PascalCase)
- Запрещено использовать имена переменных, которые используются во внешних областях видимости
- Запрещено называть переменные и свойства ключевыми словами JS
- Запрещено использовать переменные, не объявленные ранее. При использовании переменной, объявленной в другом модуле в глобальной области видимости, нужно обращаться к ней как к свойству объекта**
window - Запрещено напрямую обращаться к значению
undefined. Для проверки типа рекомендуется использоватьtypeof. Исключение составляет явная передачаundefinedпри вызове функции вместо аргумента, чтобы использовать значение параметра по умолчанию - Все точки с запятой должны быть проставлены явно.
- Новые функции не создаются с помощью конструктора
Function - В стрелочных функциях всегда используются скобки для параметров, даже если параметр один
- Вместо коллекции
arguments, используется rest-оператор, если это позволяет версия языка - В коде не используются оставленные выводы в консоль
- В коде нет забытых инструкций
debugger