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