JavaScript

Если в конце строчки кода не ставить ; в javascript то какие побочные эфекты появятся ?

Например в чем разница между
console.log("hello world");
console.log("hello world")
Зачем нужно ставить точку с запятой если можно не ставить точку с запятой?
Js сам расставляет точки с запятыми в конце строчки, это называется виртуальная точка с запятой. (При переносе строки)'Однако существуют моменты когда язык не понимает где нужно поставить точку с запятой, в результате чего возникает ошибка. Без точек с запятой в конце каждой строчки код выглядит более читабельным и не таким нагруженным, однако, насколько я знаю ставить точку с запятой считается хорошей привычкой, так что лучше ставить, если не хочешь непредвиденных ситуаций, или прочитай в каких моментах ; обязательна. Также, если стоят точки с запятой, код можно сжать хоть в одну строку, или же просто писать любые конструкции для удобства. Я ставлю
Sake Ageo
Sake Ageo
6 773
Лучший ответ
Точка с запятой в конце строки кода - это считай отличительный знак между говнокодером и программистом. Ибо программист знает, что инструкция может быть истолкована неправильно и подсознательно ставит точки с запятой в конце окончания логики... плюс, во многих других языках это является обязательным.

Конкретно в js есть реальные проблемы от отсутствия точки с запятой. Вот очень простой пример, именная стрелочная функция с автовызовом после объявления переменной:
 // вот так будет ошибка

const hello = 'hello, world'

(func = () => console.log(hello))()

// вот так ошибки не будет

const hello = 'hello, world';

(func = () => console.log(hello))();
никаких.. просто решить для себя, ставить или нет
Рамиль Хайров
Рамиль Хайров
58 420
В JavaScript точки с запятой являются необязательными.Однако есть ситуации, в которых пропуск точки с запятой может привести к нежелательным последствиям. Поэтому нет однозначного ответа на вопрос, следует ли использовать точку с запятой, или нет.
Чтобы не ставить точки с запятой, нужно знать правила, по которым парсер js сам расставляет отсутствующие. Если лень в этом всем разбираться, просто ставьте после каждого выражения. Т.к. везде, где возможна склейка со следующей строкой, код может работать не так, как ожидается.

К примеру Jacob G. добавлю еще пример, когда новая строка начинается с квадратной скобки, точки с запятой обязательны, иначе строки склеиваются:
 console.log('hello world')
[1, 2, 3, 4].forEach(() => {})

// будет ошибка