Отступы, пробелы и переносы
Для правильного форматирования используйте файл .editorconfig в вашем редакторе.
Для отступов используются два пробела. Знак табуляции не используется
При переносах в продолжении строки используется четыре пробела
Запрещено одновременное использование табов и пробелов для отступов
Для отступов ключевых слов, операторов и т. д. используется не более одного пробела
const name = 1;
const longerName = 2;
const name = 1;
const longerName = 2;
Открывающие скобки блоков кода находятся на одной строке с оператором, который их использует:
if (condition)
{
// code
}
if (condition) {
// code
}
В однострочных блоках кода, код отделен от открывающей и закрывающей скобки пробелом
В однострочных массивах скобки не отделяются пробелами, первое значение идёт непосредственно после открывающей скобки, а закрывающая скобка идёт непосредственно после последнего значения массива
После запятой всегда должен ставиться пробел, если запятая не в конце строки
Обязательно переносить запятую на новую строку при объявлении массивов и объектов. Обязательно использовать запятую в конце списков, объектов или перечислений параметров функции
const foo = {
a: 1,
b: 2
};
const bar = [
1,
2
];
const foo = {
a: 1,
b: 2,
};
const bar = [
1,
2,
];
Файл должен заканчиваться пустой строкой
Строка не должна заканчиваться пробелами
В однострочных объектах и при деструктуризации фигурные скобки не отделяются пробелами от содержимого
const foo = { a: 1 };
const foo = {a: 1};
const { a, b } = someObject;
const {a, b} = someObject;
Смысловые блоки кода отделяются друг от друга не более чем двумя пустыми строками
В качестве символа переноса строки используется стандартный символ, который используется в системе
При объявлении вычисляемых ключей в объектах с помощью синтаксиса ES2016 в квадратных скобках не используются пробелы
Оператор вызова функции ()
отделяется пробелом от названия функции
В объектах после объявления ключа не ставится пробел. После двоеточия, которое отделяет в объектах ключ от значения может стоять только один пробел, выравнивать несколько значений при объявлении многострочного объекта запрещено
Ключевые слова отделяются пробелами. Правило касается всех блоков, которые не оговорены отдельно в других правилах. В частности ключевые слова должны отделяться пробелами для условных операторов, циклов, операторов множественного выбора, блоков try..catch
, объявлений классов и т. д.
В блоках кода первая и последняя строка не должны быть пустыми (код не отбивается от начала блока кода)
После двоеточий и точек с запятыми ставятся пробелы. Перед ними — не ставятся
Перед скобками начинающими новый блок кода должен ставиться пробел
В комментариях текст отбивается пробелом от начала комментария
При создании генераторов, звездочка идёт сразу после ключевого слова function
без пробелов
Звездочка после ключевого слова yield
не отбивается пробелом. После звездочки пробел ставится всегда
В spread-операторе точки не отделяются от названия коллекции