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>