# Структура кода В этой главе мы рассмотрим общую структуру кода, команды и их разделение. [cut] ## Команды Например, можно вместо одного вызова `alert` сделать два: ```js //+ run alert('Привет'); alert('Мир'); ``` Как правило, новая команда занимает отдельную строку -- так код лучше читается: ```js //+ run alert('Привет'); alert('Мир'); ``` Точку с запятой *во многих случаях* можно не ставить, если есть переход на новую строку. Так тоже будет работать: ```js //+ run alert('Привет') alert('Мир') ``` В этом случае JavaScript интерпретирует переход на новую строчку как разделитель команд и автоматически вставляет "виртуальную" точку с запятой между ними. **Однако, важно то, что "во многих случаях" не означает "всегда"!** Например, запустите этот код: ```js //+ run alert(3 + 1 + 2); ``` Выведет 6. То есть, точка с запятой не ставится. Почему? Интуитивно понятно, что здесь дело в "незавершённом выражении", конца которого JavaScript ждёт с первой строки и поэтому не ставит точку с запятой. И здесь это, пожалуй, хорошо и приятно. **Но в некоторых важных ситуациях JavaScript "забывает" вставить точку с запятой там, где она нужна.** Таких ситуаций не так много, но они всё же есть, и ошибки, которые при этом появляются, достаточно сложно обнаруживать и исправлять. **Поэтому рекомендуется точки с запятой ставить. Сейчас это, фактически, стандарт, которому следуют все большие проекты.** ## Комментарии Со временем программа становится большой и сложной. Появляется необходимость добавить *комментарии*, которые объясняют, что происходит и почему. Комментарии могут находиться в любом месте программы и никак не влияют на ее выполнение. Интерпретатор JavaScript попросту игнорирует их. *Однострочные комментарии* начинаются с двойного слэша `//`. Текст считается комментарием до конца строки: ```js //+ run // Команда ниже говорит "Привет" alert('Привет'); alert('Мир'); // Второе сообщение выводим отдельно ``` *Многострочные комментарии* начинаются слешем-звездочкой "/*" и заканчиваются звездочкой-слэшем "*/", вот так: ```js //+ run /* Пример с двумя сообщениями. Это - многострочный комментарий. */ alert('Привет'); alert('Мир'); ``` Все содержимое комментария игнорируется. Если поместить код внутрь /* ... */ или после `//` -- он не выполнится. ```js //+ run /* Закомментировали код alert('Привет'); */ alert('Мир'); ``` [smart header="Используйте горячие клавиши!"] В большинстве редакторов комментарий можно поставить горячей клавишей, обычно это Ctrl + / для однострочных и что-то вроде Ctrl + Shift + / -- для многострочных комментариев (нужно выделить блок и нажать сочетание клавиш). Детали смотрите в руководстве по редактору. [/smart] [warn header="Вложенные комментарии не поддерживаются!"] В этом коде будет ошибка: ```js //+ run /* /* вложенный комментарий ?!? */ */ alert('Мир'); ``` [/warn] Не бойтесь комментариев. Чем больше кода в проекте -- тем они важнее. Что же касается увеличения размера кода -- это не страшно, т.к. существуют инструменты сжатия JavaScript, которые при публикации кода легко их удалят. На следующих занятиях мы поговорим о переменных, блоках и других структурных элементах программы на JavaScript.