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

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

При этом давайте посмотрим, почему точка с запятой имеет преимущество.

Аргумент в пользу отказа от них

Потеря времени

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

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

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

Зачем писать мертвый код?

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

Аргумент в пользу их использования

Главный вопрос, который задают сторонники точки с запятой: Хотим ли мы, чтобы интерпретатор угадывал, где заканчивается наше утверждение?

Это может привести к неоднозначному коду. Например, разработчик может написать следующий код:

Они означают определить var fn как функцию, а затем выполнить функцию закрытия. Однако код интерпретируется следующим образом:

Они непреднамеренно передают аргумент в fn. Во время выполнения вторая функция завершится ошибкой «… не является функцией».

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

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

https://www.codydalton.me/