Когда нужно ставить точку с запятой
Перейти к содержимому

Когда нужно ставить точку с запятой

Зачем нужна точка с запятой в программировании

Продолжаем разбирать неочевидные моменты в программировании. В прошлый раз мы рассказали про разницу между табами и пробелами. Теперь — о точках с запятой: зачем они нужны и когда не нужны.

Зачем нужна точка с запятой

В большинстве языков программирования точка с запятой разделяет команды. Компьютер сам этого сделать не может, ему нужно явно сказать: «Всё, вот это — вся команда, выполняй её в таком виде».

В некоторых языках вместо точки с запятой используют перенос на новую строку; иногда интерпретатор языка умеет угадывать, где вы имели в виду точку с запятой; но в базе точка с запятой — самый популярный разделитель.

На примере: почему важно разделять команды

В большинстве случаев, если не разделить команды, компилятор или интерпретатор просто сообщат об ошибке: мол, ожидали конец команды, а ты нам ерунду какую-то подсунул. Но иногда ошибки не будет, хотя программа будет работать совсем не так, как имел в виду разработчик. Это похоже на расстановку запятых в предложении «Казнить нельзя помиловать». Вот пример.

В C++ есть команда автоинкремента после обращения. Она выглядит как два плюса подряд, и её можно поставить до или после переменной. Место расположения переменной важно: в зависимости от него алгоритм автоинкремента будет работать по-разному.

Вот пример: j = i++ . Предположим, что в переменной i находится число 2. Работать будет так:

  1. Компьютер берёт значение переменной i и отправляет его в переменную j.
  2. После присваивания компьютер увеличивает значение переменной i на единицу.
  3. По итогу в переменной j число 2, в переменной i число 3.

Обратный пример: j = ++i (то есть переместили автоинкремент до переменной). Теперь он работает так:

  1. Компьютер сначала увеличивает i на единицу.
  2. После увеличения он присваивает новое значение в J.
  3. По итогу в переменных i и j число 3.

Теперь представьте, что у нас вот такой кусок кода:

Для компьютера этот кусок выглядит так, потому что в этом языке ему плевать на переносы строк и пробелы:

Из этого кода не очевидно, к какой переменной относится оператор ++. Компьютер либо выполнит какое-то стандартное действие для таких случаев, либо выбросит ошибку.

Чтобы стало очевидно, нужно просто разделить команды точкой с запятой:

На самом деле, вместо точки с запятой мог бы быть любой другой символ, например знак параграфа — §. Но разработчикам языков программирования было удобнее ставить то, что есть на любой клавиатуре, и то, что несложно набрать одним пальцем.

Точка с запятой в JavaScript

Чаще всего в проектах мы используем JavaScript, в котором точка с запятой тоже разделяет команды:

a = 3; b = 5; c = a + b; console.log(c);

Зачем нужна точка с запятой в программировании

Но если мы возьмём тот же код, уберём оттуда точки с запятой и выполним его в браузере, то ошибки почему-то тоже не будет:

a = 3 b = 5 c = a + b console.log(c)

Зачем нужна точка с запятой в программировании

Дело в том, что в JavaScript есть встроенный механизм автоматической вставки точек с запятой, который называется ASI. Он распознаёт команды и сам добавляет разделители в нужных местах. Этот механизм справляется с большинством случаев, но иногда он тоже не понимает, где ставить точку с запятой.

Например, с этим алгоритм точно не справится:

a = b + c
(d + e).print()

Дело в том, что это необязательно сложение и вызов какого-то метода второй командой — ещё это может быть вызовом метода print() функции c с аргументом (d + e) :

a = b + c(d + e).print()

Компьютер не знает, что именно мы имели в виду, поэтому здесь он остановится и выдаст ошибку.

Механизм ASI не значит, что в JavaScript не нужны точки с запятой. Скорее это значит, что разработчики JavaScript позаботились о вашем комфорте и постарались защитить от некоторых ошибок. Так-то точки с запятой нужны.

В каких ещё языках есть точка с запятой

Точка с запятой есть в большинстве современных языков программирования, на которые повлияли C и C++:

Также она используется в языке запросов SQL. Иногда её используют для разделения данных внутри CSV-файлов — в них Excel может сохранять свои таблицы с данными (хотя CSV расшифровывается как comma-separated values, то есть «значения, разделённые запятой»).

Когда точка с запятой не нужна

Точка с запятой не нужна в тех языках, в которых явно задаются границы команд — так компьютер сразу определяет начало и конец команды без точки с запятой. Например, в Python для этого используют отступы и переносы строк — с ними интерпретатор понимает, что начинается новая команда и к чему она относится.

Когда Python только появлялся, многие программисты по привычке ставили в нём точку с запятой. Разработчики решили научить язык не воспринимать это как ошибку, а просто игнорировать этот символ. При этом редактор кода подсветит точки с запятой красным, чтобы программист обратил на это внимание и убрал их из кода:

Зачем нужна точка с запятой в программировании

Комментарии

В совсем старых языках программирования, например в ассемблерах и Лиспе, точка с запятой используется для обозначения комментария в коде:

MOV AL, 61h ; Отправляем в AL десятичное число 97 (61 в шестнадцатеричной системе)

В современных языках точку с запятой для комментариев не используют — вместо этого ставят решётку, слеш, звёздочки или угловые скобки.

Хотите больше? Скачивайте наш гид

В нем мы собрали всё, что нужно знать о старте в сфере ИТ. Читайте на компьютере и телефоне, распечатывайте на принтере, пересылайте друзьям, используйте как учебное пособие в вузе и школе.

Гид скачивается бесплатно, без регистрации и ввода электронной почты. Просто тык и всё. Не забудьте сохранить на компьютере, если гид откроется в браузере.

Хотите больше? Скачивайте наш гид Хотите больше? Скачивайте наш гид

Получите ИТ-профессию

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Точка с Запятой или Двоеточие?

точка с запятой или двоеточие

Писатели-гуру, равно как и сервисы для улучшения текста, в один голос советуют упрощать предложения, избавляться от сложных конструкций, разбивать большие монолитные идеи на небольшие, монотонные фразы, состоящие из 5-7 слов. Казалось бы, вполне рациональные советы, правда? Однако те, кто пытаются упростить текст по максимуму, забывают, насколько прекрасными могут быть предложения со знаками препинания, которые, в свою очередь, помогают читателю услышать интонацию автора.

Длинные предложения и правда могут звучать достаточно лаконично, но при одном условии: если вы, как автор, умело расставляете в них запятые, тире, двоеточия или точки с запятой. Все эти знаки препинания позволяют читателю немного сбавить темп или же, наоборот, ускориться, а также не перечитывать по несколько раз одно и то же предложение в тщетных попытках понять, о чем оно и есть ли в нем хоть какой-то смысл вообще.

В этой статье мы с вами более наглядно рассмотрим случаи употребления точки с запятой или двоеточия — в частности, на примере “ХоббитаД. Р. Р. Толкина. Мы сознательно решили отказаться от нереалистичных предложений, придуманных только ради того, чтобы привести их в пример, поскольку они попросту не могут продемонстрировать всю многогранность случаев употребления точки с запятой и двоеточия. При этом, мы выбрали Толкина, так как его ученая степень не оставляет сомнений касательно чистоты его языка; он писал длинные предложения, делал сложную структуру и, в то же время, у него достаточно легкий для восприятия стиль, а все его произведения — чрезвычайно захватывающие.

Как правильно использовать точку с запятой

Название точки с запятой говорит само за себя, это — смесь двух самых распространенных знаков препинания, что и делает ее настолько “могущественной”. Несмотря на то, что точка с запятой способна улучшить как восприятие, так и стиль, а также сделать текст более выразительным, понятным и убедительным, проблема заключается в том, что нет четких правил, согласно которым вы должны поставить только ее, а не обычную точку.

Тем не менее, есть три случая, когда лучше использовать именно точку с запятой.

Точку с запятой используют, чтобы упростить сложные списки

В данном случае, она позволяет разделить пункты списка, если в них уже есть достаточно запятых. Например:

  • They are inclined to be fat in the stomach; they dress in bright colours (chiefly green and yellow); wear no shoes, because their feet grow natural leathery soles and thick warm brown hair like the stuff on their heads (which is curly); have long clever brown fingers, good-natured faces, and laugh deep fruity laughs (especially after dinner, which they have twice a day when they can get it).

Точка с запятой может связывать два простых предложения

Такие предложения обычно тесно взаимосвязаны, однако не являются прямым объяснением друг друга. Оба из них — главные предложения (чаще всего, простые), которые можно объединить с помощью связующей фразы, союзного наречия или союза.

Чтобы убедиться, что вы правильно употребили точку с запятой, попробуйте заменить ее обычной точкой. Сохранился ли смысл предложений после того, как вы разделили одно на два? Являются ли они правильными с точки зрения грамматики? Если да, то смело отменяйте правки и оставляйте точки с запятыми на местах. Вот еще несколько примеров употребления этого знака препинания:

  • Some called for ale, and some for porter, and one for coffee, and all of them for cakes; so the hobbit was kept very busy for a while.
  • The dark came into the room from the little window that opened in the side of The Hill; the firelight flickered—it was April—and still they played on, while the shadow of Gandalf’s beard wagged against the wall.
  • Kili and Fili rushed for their bags and brought back little fiddles; Dori, Nori, and Ori brought out flutes from somewhere inside their coats; Bombur produced a drum from the hall; Bifur and Bofur went out too, and came back with clarinets that they had left among the walking-sticks.

Также существует негласное правило, согласно которому мы ставим запятую или точку с запятой перед определенными союзами:

  • союзы, перед которыми нужно употреблять точку с запятой: however, consequently, thus, therefore, meanwhile, and nevertheless;
  • союзы, перед которыми лучше ставить запятую: and, while, nor, but, for, or, yet, so.

Несмотря на это, авторы классических романов наряду с Толкином не придерживаются этого правила:

  • He shuddered; and very quickly he was plain Mr. Baggins of Bag-End, Under-Hill, again.
  • I tried to find one; but warriors are busy fighting one another in distant lands, and in this neighbourhood heroes are scarce, or simply not to be found.
  • The dwarves rushed out of their great gate; but there was the dragon waiting for them.

Самый противоречивый способ употребления точки с запятой

Предыдущие примеры плавно подводят нас к последнему, самому спорному варианту расстановки этого знака препинания. Почему? Потому что в данном случае точку с запятой можно употребить в любом месте на усмотрение автора, если ему кажется, что это поможет подчеркнуть тон и стиль текста.

Это последнее замечание сводит на нет все предыдущие правила и делает точку с запятой хоть и важным знаком препинания, но, в то же время, одним из самых сложных.

Когда нужно ставить двоеточие

В отличие от точки с запятой, двоеточие гораздо популярнее среди англоязычных студентов (и не только студентов) и причина этому проста: существуют четкие правила, которые регулируют его употребление, которые мы и рассмотрим ниже.

1. Основная функция двоеточия — это введение перечня.

Напр.: No going upstairs for the hobbit: bedrooms, bathrooms, cellars, pantries (lots of these), wardrobes (he had whole rooms devoted to clothes), kitchens, dining-rooms, all were on the same floor, and indeed on the same passage.

2. Двоеточие также используют для того, чтобы что-то объявить или представить.

Напр.: The door opened on to a tube-shaped hall like a tunnel: a very comfortable tunnel without smoke, with panelled walls, and floors tiled and carpeted, provided with polished chairs, and lots and lots of pegs for hats and coats—the hobbit was fond of visitors.

3. Двоеточие употребляют при оформлении прямой речи в тексте (хотя в большинстве случаев его можно заменить запятой).
  • When the silence that followed had become uncomfortable, he added: “I am just about to take tea; pray come and have some with me.”
  • Dwalin and Balin said: “Excuse me, I left mine in the porch!
  • Off they went, not waiting for trays, balancing columns of plates, each with a bottle on the top, with one hand, while the hobbit ran after them almost squeaking with fright: “please be careful!” and “please, don’t trouble! I can manage.”
4. Двоеточие позволяет выделить вступление или дать уточнение информации, которую указали ранее.
  • I like six eggs with my ham, when starting on a journey: fried not poached, and mind you don’t break ’em.
  • Not a nasty, dirty, wet hole, filled with the ends of worms and an oozy smell, nor yet a dry, bare, sandy hole with nothing in it to sit down on or to eat: it was a hobbit-hole, and that means comfort.
  • The Bagginses had lived in the neighbourhood of The Hill for time out of mind, and people considered them very respectable, not only because most of them were rich, but also because they never had any adventures or did anything unexpected: you could tell what a Baggins would say on any question without the bother of asking him.
5. Оно также помогает отделить слова или фразы, чтобы акцентировать на них внимание — например, когда нужное предложение является неполным или объясняет другое утверждение. К сожалению, Толкин не использовал двоеточие в этих целях, поэтому приведем вам собственный пример:
  • There was only one thing he liked about her: her smile.
6. Наконец, двоеточие используют как разделитель в следующих случаях:
  • для указания пропорций (например, “смешивать в соотношении 4:1”);
  • для обозначения времени (например, “поезд уезжает в 3:45 утра”);
  • в заголовках (например, “Пунктуация: точка с запятой и двоеточие”);
  • для того, чтобы отделить номер главы от номера стиха (например, 1 Коринфянам 13:4).

Как вы уже успели убедиться, правильно расставлять знаки препинания — это целое искусство. Благодаря пунктуации, любой текст (английский в том числе) выглядит намного лучше; более того, иногда она придает ему музыкальное звучание. Знаки препинания позволяют читателю услышать голос автора; если ваш все еще звучит неубедительно, попробуйте использовать пунктуацию, чтобы придать больше значения и выразительности вашим словам, как это делали Ян Флеминг и Эрнест Хемингуэй.

Если ваш текст переполнен ёмкими идеями, которые сложно поместить в короткие предложения — вам просто придется научиться грамотно употреблять знаки препинания. И мы уверяем вас, что двоеточие и точка с запятой — самые яркие представители в английской пунктуации, главное, научиться их правильно использовать. Так что осваивайте это искусство, но не забывайте — для того, чтобы нарушать правила так, как это делал Толкин, для начала нужно получить степень по лингвистике, как он.

Свежие записи

  • Распространенные Латинские Аббревиатуры, Используемые в Английском Языке
  • Подчинение в Грамматике Английского Языка
  • Инклюзивная Лексика: Термины, Которых Стоит Избегать в Письме
  • Правила Употребления Апострофа
  • Структурирование Текста по Абзацам. Советы по Созданию Понятной Структуры Изложения
  • Авторам студенческих работ
  • Журналистам
  • Копирайтерам
  • Корректорам
  • Переводчикам
  • Писателям
  • Редакторам

Зачем нужна точка с запятой и где её нужно ставить?

В школьных диктантах могут снизить оценку за то, что ученик не поставил точку с запятой там, где она была задумана автором. А есть ли вообще какие-то правила, по которым этот знак препинания ставится (или не ставится)? Отвечает Мария Чепиницкая, преподаватель и автор блога о русском языке в стихах и прозе.

Вопрос. Расскажите, пожалуйста, где правильно ставить точку с запятой. Моя мама уверена, что ее можно ставить где угодно, и считает, что Тургенев в «Записках охотника» так и делал. А я с ней не согласна, должно быть правило.

Мария Чепиницкая:

А правило есть, причём не такое уж и простое. Давайте попробуем разобраться.

Во-первых, точка с запятой ставится в конце рубрик перечисления, если эти рубрики не являются самостоятельными предложениями (другими словами, когда мы составляем план или перечень).

1) молодой картофель, выращенный у подножья горы Хурхар;

2) привезённый из Альп сыр;

3) лапшу быстрого приготовления.

Во-вторых, точка с запятой любит сложные предложения и ставится перед союзами НО, ОДНАКО, ТЕМ НЕ МЕНЕЕ и подобными им союзами при противопоставлении:

У меня была только синяя краска; но, несмотря на это, я затеял нарисовать охоту. (Л. Толстой)

А вот перед союзами И и ДА (в значении «и») точка с запятой может встать только в том случае, если на этом месте можно поставить точку:

Почти каждый вечер попозже они уезжали куда-нибудь за город, в Ореанду или на водопад; и прогулка удавалась, впечатления неизменно всякий раз были прекрасны, величавы. (А. П. Чехов)

Если же в сложном предложении есть придаточные части, то точка с запятой может поселиться в таком предложении в двух случаях:

1) между придаточными нет сочинительных союзов, а сами придаточные имеют свои придаточные;

2) между группами независимых придаточных.

Правда, зачем вам нужны такие большие предложения (если вы, конечно, не писатель):

  • Не потерплю, чтоб развратитель огнем и вздохов, и похвал младое сердце искушал; чтоб червь презренный, ядовитый точил лилеи стебелек; чтобы двухутренний цветок увял еще полураскрытый. (А. С. Пушкин)
  • В саду было множество ворон, гнезда их покрывали макушки деревьев, они кружились около них и каркали; иногда особенно к вечеру, они вспархивали, целыми сотнями, шумя и поднимая других; иногда одна какая-нибудь перелетит наскоро с дерева на дерево и все затихнет… (А. И. Герцен)

И, в-третьих, точка с запятой очень дружна с однородными членами предложения, особенно если внутри хотя бы одного из них есть запятые:

Здесь были люди из города и из станиц и хуторов, задержанные по подозрению в том, что они советские работники, партизаны, коммунисты, комсомольцы; люди, поступком или словом оскорбившие немецкий мундир; люди, скрывавшие свое еврейское происхождение; люди, задержанные за то, что они без документов, и просто за то, что они люди. (А. А. Фадеев)

Жизнь к такому не готовит,

Позабыты сон, покой:

Кто же правило напомнит

Мне про точку с запятой?

Чтоб такие предложения

Мне на пол-листа писать,

Я уж буду, без сомнения,

Всё на части разделять.

Смысловой отрезок — стой!

Ставим точку с запятой.

Точка с запятой в JavaScript: Действительно ли она вам нужна? [Руководство 2022]

В JavaScript точки с запятой являются необязательными. Да, вы не ослышались.

// Both statements work the same way console.log("Hello") console.log("Hello");

Однако есть ситуации, в которых пропуск точки с запятой может привести к нежелательным последствиям. Поэтому нет однозначного ответа на вопрос, следует ли использовать точку с запятой, или нет.

Использование точек с запятой всегда вызывает споры в сообществе JavaScript. Существуют весомые аргументы в пользу использования точки с запятой. Но также имеются и веские причины, почему их не следует применять.

Это исчерпывающее руководство по использованию точек с запятой в JavaScript.

Сначала мы рассмотрим правила использования точек с запятой в коде JavaScript. Затем вы узнаете, как работает автоматическая вставка точки с запятой за кадром. И последнее, но не менее важное: вы увидите список плюсов и минусов использования точек с запятой.

В конце этого руководства вы будете в состоянии решить, хотите ли вы использовать точки с запятой или нет.

Руководство по использованию точек с запятой в JavaScript

Прежде чем обсуждать плюсы и минусы использования точек с запятой, необходимо понять, как они вообще используются.

Необходимое использование: Разделить два оператора в одной строке

Если у вас есть два оператора JavaScript в одной строке, вы должны разделить их точкой с запятой. Возможно, самым распространенным примером этого является цикл for.

const numbers = [1, 2, 3, 4, 5]; for (let i = 0; i
1 2 3 4 5

Цикл for не будет работать без точки с запятой, в случае если его условие задается в одной строке.

Необязательное использование: Точки с запятой как разделители операторов

Кроме разделения операторов для одной строки, в JavaScript нет других обязательных случаев использования точки с запятой. Однако, по желанию, вы можете использовать точку с запятой для завершения оператора, даже если были разрывы строк.

Вот несколько распространенных примеров операторов, которые можно завершить точкой с запятой:

let i; // variable declaration i = 5; // value assignment let x = 9; // declaration and assignment var fun = function() ; // function definition alert("hi"); // function call

Помните, что все вышеперечисленные точки с запятой необязательны. Код будет работать и без них.

Избегайте точек с запятой

Есть ситуации, в которых следует избегать использования точек с запятой.

Избегайте точек с запятой после ‘>’. Не ставьте точку с запятой после закрывающей фигурной скобки ‘>‘.

Единственным исключением является оператор присваивания, например, такой:

var data = ;

В этом случае можно использовать точку с запятой.

Вот несколько примеров того, как не использовать точку с запятой после закрывающей фигурной скобки:

if (. ) else for (. ) while (. ) function (arg) < /* actions */ >

Избегайте точки с запятой после ‘)’ в операторах if, for, while или switch.

В предыдущем разделе вы узнали, что не следует использовать точку с запятой после закрывающей фигурной скобки. Однако если вы случайно это сделаете, то это будет просто проигнорировано.

Никакого вреда от этого не случится. Но если вы поставите точку с запятой там, где ее не должно быть, то возникнут проблемы.

Не добавляйте точку с запятой после закрывающей скобки ‘)’ в:

  • операторах If
  • циклах For
  • циклах While
  • операторах Switch

Давайте рассмотрим пример того, почему это важно помнить.

Если вы напишете оператор if следующим образом:

if (0 > 1);

Это эквивалентно следующему:

if (0 < 1); console.log("Hello")

В данном случае он выводит сообщение на консоль, хотя явно не должен этого делать. Это происходит потому, что точка с запятой полностью завершает оператор if. Затем блок кода, следующий за оператором if, выполняется как отдельный. Поэтому будьте осторожны и не злоупотребляйте точкой с запятой!

Исключения при использовании точки с запятой

Ранее в этой статье вы видели пример цикла for с точкой с запятой. Это исключительный случай использования точки с запятой.

Взгляните на этот простой цикл for:

for (let i = 0; i < 10 ; i++) < >// Works

Как вы можете видеть, точка с запятой не ставится сразу после i++.

На самом деле, после третьего оператора в цикле for нельзя ставить точку с запятой.

Если вы так сделаете, то возникнет синтаксическая ошибка:

for (let i = 0; i < 10 ; i++;) < >// SyntaxError

Это все, что вам нужно знать, когда речь идет о правилах использования точек с запятой в JavaScript.

Теперь давайте вкратце обсудим, почему использование точек с запятой в JavaScript необязательно.

Автоматическая вставка точки с запятой в JavaScript

JavaScript не требует точек с запятой (за исключением одного исключения, которое вы видели ранее).

Это происходит потому, что JavaScript достаточно умен и может автоматически добавлять точки с запятой там, где необходимо.

Все происходит "за кулисами", и вы ничего не заметите.

Правила ASI в JavaScript

Парсер JavaScript добавляет точку с запятой в любом из следующих случаев:

  1. Следующая строка кода начинается с кода, который явно прерывает текущую строку кода.
  2. Когда следующая строка кода начинается с '>'.
  3. При достижении конца файла.
  4. Если любой из следующих операторов встречается в виде отдельной строки
  • return (возврат)
  • break (прервать)
  • throw (выбросить [ошибку])
  • continue (продолжить)

Важно понимать, что ASI не всегда корректен на 100%.

Точка с запятой используется для разделения операторов в JavaScript, а не для их завершения.

Это то, что ASI пытается сделать за вас.

Если говорить проще, то правила ASI можно сформулировать следующим образом:

Не каждый перенос строки требует точки с запятой. Однако разрыв строки, который не поддается парсингу без точки с запятой, нуждается в ее использовании.

let x x = 10 console.log(x)

Этот фрагмент кода интерпретируется ASI как:

let x; x = 10; console.log(x);

В данном случае ASI проделал отличную работу, сумев разобраться в том, как продолжается код между строками 2-4.

Однако иногда он может не знать, чего мы пытаемся достичь.

Например, данная строка кода приводит к ошибке

const s = 'World' const ab = "Hello" + s [3].forEach(n => console.log(n))

В результате возникает следующая ошибка:

Uncaught TypeError: s[3].forEach is not a function at :4:5

По описанию ошибки вы уже можете догадаться, почему это происходит.

Причина, по которой этот валидный фрагмент кода не работает, заключается в том, что ASI не вставляет точку с запятой после второй строки.

Вместо этого, он интерпретирует строки 2 и 4 как продолжение одного и того же оператора следующим образом (в соответствии с правилом ASI номер 1):

const s = 'World'; const ab = "Hello" + s[3].forEach(n => console.log(n));

ASI думает, что s - это массив, и вы пытаетесь получить доступ к его 4-му элементу с помощью s[3].

Но это не то, что вы планируете осуществить.

Чтобы заставить эту строку работать так, как ожидается, необходимо вручную добавить точку с запятой в конце второй строки:

const s = 'World' const ab = "Hello" + s; [3].forEach(n => console.log(n)) // Prints '3'

Теперь код работает так, как предполагалось.

Другой пример, когда ASI может вызвать проблемы, - это операторы return (возврат).

function getData() < return < name: 'Bob' >> console.log(getData())
undefined

В результате выводится undefined (неопределенное значение), хотя подразумевалось, что появится имя .

Так происходит потому, что 4-е правило ASI гласит, если оператор return встретился в виде отдельной строки, то ставится точка с запятой.

Поэтому ASI видит приведенный выше код следующим образом:

function getData() < return; < name: 'Bob' >> console.log(getData())

Другими словами, функция getData() ничего не возвращает, а затем случайным образом создает объект, с которым ничего не делает.

Таким образом, в консоли вы видите undefined.

Для исправления этого нужно добавить открывающую фигурную скобку в ту же строку, что и оператор return:

function getData() < return < name: 'Bob' >> console.log(getData())

Теперь данный фрагмент кода работает как положено.

Благодаря данному разделу вы научились быть осторожными с ASI. Несмотря на то, что в большинстве случаев он действует правильно, иногда его интерпретация ваших намерений может оказаться неверной.

Далее перейдем к самому интересному, то есть к причинам, по которым вы должны или не должны использовать точку с запятой в JavaScript.

Почему вы должны использовать точку с запятой: 5 причин

Использование или неиспользование точек с запятой вызывает жаркие споры среди веб-разработчиков.

Вот 5 причин, по которым вы должны использовать точку с запятой в своем коде.

1. Иногда обязательна

Как было уже сказано ранее в этой статье, иногда необходимо использовать точку с запятой.

Например, если вы пишете цикл for, необходимо использовать точку с запятой при указании параметра цикла и условий. В противном случае цикл не будет работать.

Кроме того, ASI (автоматическая вставка точки с запятой) JavaScript не всегда точен на 100%.

Иногда он может неправильно истолковать ваши намерения и не добавить точку с запятой там, где она требуется. Это может привести к появлению непредвиденных ошибок в коде.

Один из таких примеров вы также видели ранее в этом руководстве.

2. Вы привыкли использовать точки с запятой

Возможно, в процессе работы вы привыкли к использованию точек с запятой в коде.

В некоторых других языках широко используются точки с запятой, поэтому привыкание к ним является обычным делом. Если ваш мозг не воспринимает код JavaScript без точек с запятой, зачем от них отказываться?

Не стесняйтесь использовать точки с запятой, чтобы сделать код более понятным для вас, если это то, что вы привыкли делать.

3. Явно указывает на окончание оператора

Точка с запятой - это простой способ четко обозначить окончание оператора. При использовании точки с запятой нет места для путаницы. Строка кода заканчивается на точке с запятой.

4. Меньше поводов для беспокойства

Если вы всегда используете точку с запятой, то не стоит сильно переживать по поводу ASI. Это дает вам меньше поводов для беспокойства.

После каждой строки кода вам не нужно задумываться о том, испортит ли отсутствие точки с запятой ситуацию или нет. Однако ASI все равно может все испортить, как вы видели на примере оператора return.

5. ASI может быть изменен

Правила ASI могут измениться в будущем. Хотя это и маловероятно, но такое возможно. Таким образом, полагаться на правила ASI о вставке точек с запятой всегда по одному и тому же принципу надежно не на 100%.

Если вы пишете код с учетом текущего ASI, то можете столкнуться с некоторыми проблемами, если правила поменяются. Но имейте в виду, что в 99,9% случаев ASI выполняет свою работу корректно. Более того, правила вряд ли изменятся в ближайшее время.

Теперь, когда вы увидели множество причин для использования точек с запятой, давайте поговорим о том, почему их не следует использовать.

Почему не следует использовать точки с запятой: 3 причины

Обратите внимание, что если вы слышите, как кто-то говорит: "Никогда не следует использовать точку с запятой", то он ошибается. Это потому, что точка с запятой в редких случаях обязательна.

В любом случае, давайте поговорим о минусах точек с запятой, перечислив 3 причины, по которым их не следует использовать.

1. Точки с запятой вставляются автоматически

Как вы уже выяснили, точки с запятой вставляются ASI. Таким образом, вам не нужно писать то, что все равно будет проигнорировано.

2. Меньше написанного кода и меньше шума

Каждый символ кода влияет на читабельность и качество кода. Если вы не используете точки с запятой, то тем самым сэкономите символы в каждой написанной строке кода.

3. Несколько операторов в одной строке - плохая практика

Использование точек с запятой позволяет записывать по несколько операторов на одной строке. Но это плохая практика.

Вы никогда не должны писать операторы в одной строке (если это не требуется).

При использовании точек с запятой возникает вероятность того, что у вас сформируется данная плохая привычка. Если вы не используете точки с запятой, то возможности писать операторы в одной строке у вас не будет.

Так использовать точки с запятой или нет?

Во время изучения этой статьи мы обсудили причины, по которым стоит и не следует использовать точку с запятой.

Как показывает практика, существует гораздо больше причин для использования точки с запятой, чем для ее отсутствия. Таким образом, я рекомендую использовать точки с запятой. Однако решение остается за вами.

Если вы работаете в команде разработчиков программного обеспечения, то должны придерживаться общепринятых правил. В случае когда команда использует точки с запятой, то и вы должны их применять. Если команда этого не делает, то и вам не следует их ставить.

Также помните, что нужно быть последовательным в применении точек с запятой и без них.

Если вы пропустили одну точку с запятой, то пропускайте их все (кроме обязательных). Вы также можете настроить свой линтер на автоматическое удаление точек с запятой.

Заключение

Сегодня вы узнали об использовании точек с запятой в JavaScript. Напомним, что точки с запятой не являются обязательными в JavaScript. Вместе с тем, процесс автоматической вставки точки с запятой (ASI) добавляет точки с запятой там, где это необходимо.

Однако ASI не является правильным в 100% случаев. Кроме того, в некоторых ситуациях вы просто обязаны использовать точку с запятой. Иначе код не будет работать.

Использовать точки с запятой или нет - полностью зависит от вас. На мой взгляд, пользы от использования точек с запятой больше, чем от их отсутствия. Но ваше мнение может отличаться.

Спасибо за прочтение. Надеюсь, вы нашли это полезным. Удачного кодинга!

В заключение хочу порекомендовать бесплатный вебинар в OTUS, на котором сверстаем одностраничный сайт о компании или персоне, который можно будет использовать далее. Разберём современные подходы к созданию HTML-страниц, их оформлению и расположению элементов на экране. Записаться можно на странице специализации Fullstack Developer.

  • javascript
  • программирование

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *