HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Если программа на JavaScript написана синтаксически некорректно, то интерпретатор выводит на экран соответствующее сообщение, а также указание на файл и строчку в нем, где, по его мнению, произошла ошибка.<em>Синтаксическая ошибка</em>возникает в том случае, когда код был записан с нарушением грамматических правил. В человеческих языках грамматика важна, но текст с ошибками чаще всего можно понять и прочитать. В программировании все строго. Любое мельчайшее нарушение, и программа даже не запустится. Примером может быть забытая ;, неправильно расставленные скобки и другие детали.</p>
1 <p>Если программа на JavaScript написана синтаксически некорректно, то интерпретатор выводит на экран соответствующее сообщение, а также указание на файл и строчку в нем, где, по его мнению, произошла ошибка.<em>Синтаксическая ошибка</em>возникает в том случае, когда код был записан с нарушением грамматических правил. В человеческих языках грамматика важна, но текст с ошибками чаще всего можно понять и прочитать. В программировании все строго. Любое мельчайшее нарушение, и программа даже не запустится. Примером может быть забытая ;, неправильно расставленные скобки и другие детали.</p>
2 <p>Вот пример кода с синтаксической ошибкой:</p>
2 <p>Вот пример кода с синтаксической ошибкой:</p>
3 <p>Если запустить код выше, то мы увидим следующее сообщение: SyntaxError: missing ) after argument list, а также указание на строку и файл, где возникла эта ошибка. Подобные синтаксические ошибки в JavaScript относятся к разряду SyntaxError.</p>
3 <p>Если запустить код выше, то мы увидим следующее сообщение: SyntaxError: missing ) after argument list, а также указание на строку и файл, где возникла эта ошибка. Подобные синтаксические ошибки в JavaScript относятся к разряду SyntaxError.</p>
4 <p>С одной стороны, ошибки SyntaxError - самые простые, потому что они связаны исключительно с грамматическими правилами написания кода, а не с самим смыслом кода. Их легко исправить: нужно лишь найти нарушение в записи.</p>
4 <p>С одной стороны, ошибки SyntaxError - самые простые, потому что они связаны исключительно с грамматическими правилами написания кода, а не с самим смыслом кода. Их легко исправить: нужно лишь найти нарушение в записи.</p>
5 <p>С другой стороны, интерпретатор не всегда может четко указать на это нарушение. Поэтому бывает, что забытую скобку нужно поставить не туда, куда указывает сообщение об ошибке.</p>
5 <p>С другой стороны, интерпретатор не всегда может четко указать на это нарушение. Поэтому бывает, что забытую скобку нужно поставить не туда, куда указывает сообщение об ошибке.</p>
6 <h2>Ошибки линтера</h2>
6 <h2>Ошибки линтера</h2>
7 <p>Теперь, когда мы уже научились писать простые программы, можно немного поговорить о том, как их писать.</p>
7 <p>Теперь, когда мы уже научились писать простые программы, можно немного поговорить о том, как их писать.</p>
8 <p>Код программы следует оформлять определенным образом, чтобы он был достаточно понятным и простым в поддержке. Специальные наборы правил - стандарты - описывают различные аспекты написания кода. Таких стандартов несколько, самые известные в JavaScript:<a>AirBnb</a>,<a>Standard</a>,<a>Google</a>. В уроках мы будем придерживаться AirBnb.</p>
8 <p>Код программы следует оформлять определенным образом, чтобы он был достаточно понятным и простым в поддержке. Специальные наборы правил - стандарты - описывают различные аспекты написания кода. Таких стандартов несколько, самые известные в JavaScript:<a>AirBnb</a>,<a>Standard</a>,<a>Google</a>. В уроках мы будем придерживаться AirBnb.</p>
9 <p>В любом языке программирования существуют утилиты - так называемые<strong>линтеры</strong>. Они проверяют код на соответствие стандартам. В JavaScript это<a>eslint</a>.</p>
9 <p>В любом языке программирования существуют утилиты - так называемые<strong>линтеры</strong>. Они проверяют код на соответствие стандартам. В JavaScript это<a>eslint</a>.</p>
10 <p>Взгляните на пример из предыдущего урока:</p>
10 <p>Взгляните на пример из предыдущего урока:</p>
11 <p>Линтер будет "ругаться" на нарушение сразу нескольких правил:</p>
11 <p>Линтер будет "ругаться" на нарушение сразу нескольких правил:</p>
12 <ul><li><a>space-infix-ops</a>- Отсутствие пробелов между оператором и операндами.</li>
12 <ul><li><a>space-infix-ops</a>- Отсутствие пробелов между оператором и операндами.</li>
13 <li><a>no-mixed-operators</a>- По стандарту нельзя писать код, в котором разные операции используются в одном выражении без явного разделения скобками.</li>
13 <li><a>no-mixed-operators</a>- По стандарту нельзя писать код, в котором разные операции используются в одном выражении без явного разделения скобками.</li>
14 </ul><p>В прошлом уроке мы сами признали, что такое обилие цифр и символов запутывает, и решили добавить скобки исключительно для удобства чтения:</p>
14 </ul><p>В прошлом уроке мы сами признали, что такое обилие цифр и символов запутывает, и решили добавить скобки исключительно для удобства чтения:</p>
15 <p>Этот вариант уже не нарушает правил, и линтер будет "молчать".</p>
15 <p>Этот вариант уже не нарушает правил, и линтер будет "молчать".</p>
16 <p>Рассмотрим еще один пример:</p>
16 <p>Рассмотрим еще один пример:</p>
17 <p>Есть ли здесь нарушение стандарта?</p>
17 <p>Есть ли здесь нарушение стандарта?</p>
18 <p>К сожалению, да. На этот раз операции * и / находятся в одном выражении без разделения скобками. Вы можете решить эту проблему, добавив дополнительные скобки. Но в какой-то момент количество скобок может быть уже настолько большим, что код снова станет неудобным и непонятным. В этот момент разумнее будет разделить выражение на отдельные части. Мы научимся это делать в следующих уроках.</p>
18 <p>К сожалению, да. На этот раз операции * и / находятся в одном выражении без разделения скобками. Вы можете решить эту проблему, добавив дополнительные скобки. Но в какой-то момент количество скобок может быть уже настолько большим, что код снова станет неудобным и непонятным. В этот момент разумнее будет разделить выражение на отдельные части. Мы научимся это делать в следующих уроках.</p>
19 <p><a>no-mixed-operators</a>- лишь одно из большого количества правил. Другие правила описывают отступы, названия создаваемых сущностей, скобки, математические операции, длину строк и множество иных аспектов. Каждое отдельное правило кажется довольно мелким, не очень важным. Но вместе они составляют основу хорошего кода.</p>
19 <p><a>no-mixed-operators</a>- лишь одно из большого количества правил. Другие правила описывают отступы, названия создаваемых сущностей, скобки, математические операции, длину строк и множество иных аспектов. Каждое отдельное правило кажется довольно мелким, не очень важным. Но вместе они составляют основу хорошего кода.</p>
20 <p>На Хекслете линтер начинает проверять код и сообщать о нарушениях после оформления подписки.</p>
20 <p>На Хекслете линтер начинает проверять код и сообщать о нарушениях после оформления подписки.</p>