You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: javascript.html
+40-28Lines changed: 40 additions & 28 deletions
Original file line number
Diff line number
Diff line change
@@ -53,12 +53,12 @@ <h3>Отступы, пробелы и переносы</h3>
53
53
<p>Запрещено одновременное использование табов и пробелов для отступов</p>
54
54
55
55
<p>Для отступов ключевых слов, операторов и т. д. используется не более одного пробела</p>
56
-
<preclass="language-js language-incorrect"><code>var name = 1;
57
-
var longerName = 2;
56
+
<preclass="language-js language-incorrect"><code>const name = 1;
57
+
const longerName = 2;
58
58
</code></pre>
59
59
60
-
<preclass="language-js language-correct"><code>var name = 1;
61
-
var longerName = 2;
60
+
<preclass="language-js language-correct"><code>const name = 1;
61
+
const longerName = 2;
62
62
</code></pre>
63
63
64
64
<p>Открывающие скобки блоков кода находятся на одной строке с оператором, который их использует:
@@ -81,21 +81,21 @@ <h3>Отступы, пробелы и переносы</h3>
81
81
<p>После запятой всегда должен ставиться пробел, если запятая не в конце строки</p>
82
82
83
83
<p>Обязательно переносить запятую на новую строку при объявлении массивов и объектов. Обязательно использовать запятую в конце списков, объектов или перечислений параметров функции</p>
<p>Если в функции используется ветвление, в котором есть возврат значения (<code>return</code>),<code>return</code> должен быть добавлен и в остальных ветках.</p>
265
+
<p>Если в функции используется ветвление, в котором есть возврат значения, то<code>return</code> должен быть добавлен и в остальных ветках.</p>
<p>Это правило предотвращает создание функций, при использовании которых непонятно, вернут ли они какое-то значение. В первом примере, функция <code>do</code> может вернуть значение <code>1</code>, а может <code>undefined</code></p>
286
286
287
+
<p>Единственное исключение — использование <code>return</code> без значения для прекращения работы функции:</p>
<p>При объявлении переменных предпочтение отдается ключевым словам <code>let</code> и <code>const</code>. Переменные объявляются через <code>var</code> только при наличии проблем с поддержкой ES6</p>
317
+
<p>При объявлении переменных предпочтение отдается ключевым словам <code>let</code> и <code>const</code>. Переменные объявляются через <code>var</code> только при наличии проблем с поддержкой ECMAScript 2015</p>
306
318
307
319
<p>Запрещено переопределять с помощью ключевого слова ранее созданные переменные</p>
308
320
309
321
<p>Запрещено использовать множественное объявление через одно ключевое слово. Для каждой переменной используется отдельный <code>var</code>, <code>let</code> или <code>const</code>.
310
-
<preclass="language-js language-incorrect"><code>var a = 1, b = 2;
322
+
<preclass="language-js language-incorrect"><code>const a = 1, b = 2;
311
323
</code></pre>
312
324
313
-
<preclass="language-js language-correct"><code>var a = 1;
314
-
var b = 2;
325
+
<preclass="language-js language-correct"><code>const a = 1;
326
+
const b = 2;
315
327
</code></pre>
316
328
</p>
317
329
@@ -325,7 +337,7 @@ <h4>Объявление функций</h4>
325
337
326
338
<p>Вместо коллекции <code>arguments</code>, используется rest-оператор, если это позволяет версия языка</p>
327
339
328
-
<p>Вместо вызова функции через <code>apply</code> используется spread-оператор, если это позволяет версия языка
340
+
<p>Для превращения массива с данными в аргументы вместо вызова функции через <code>apply</code> используется spread-оператор, если это позволяет версия языка
<p>В объектах напрямую не переопределяется свойство <code>__iterator__</code></p>
478
490
479
491
<p>В объектах напрямую не переопределяется свойство <code>__proto__</code>. Разрешено переопределять <code>__proto__</code> через <code>Object.create</code> или запись в прототип, объектов, созданных другими конструкторами, но напрямую редактировать <code>__proto__</code> нельзя
0 commit comments