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

Регистрация
15 Ноя 2013
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
Например в чем разница между

console.log("hello world");

console.log("hello world")

Зачем нужно ставить точку с запятой если можно не ставить точку с запятой?
 
Js сам расставляет точки с запятыми в конце строчки, это называется виртуальная точка с запятой. (При переносе строки)'Однако существуют моменты когда язык не понимает где нужно поставить точку с запятой, в результате чего возникает ошибка. Без точек с запятой в конце каждой строчки код выглядит более читабельным и не таким нагруженным, однако, насколько я знаю ставить точку с запятой считается хорошей привычкой, так что лучше ставить, если не хочешь непредвиденных ситуаций, или прочитай в каких моментах ; обязательна. Также, если стоят точки с запятой, код можно сжать хоть в одну строку, или же просто писать любые конструкции для удобства. Я ставлю
 
В JavaScript точки с запятой являются необязательными.Однако есть ситуации, в которых пропуск точки с запятой может привести к нежелательным последствиям. Поэтому нет однозначного ответа на вопрос, следует ли использовать точку с запятой, или нет.
 
Чтобы не ставить точки с запятой, нужно знать правила, по которым парсер js сам расставляет отсутствующие. Если лень в этом всем разбираться, просто ставьте после каждого выражения. Т.к. везде, где возможна склейка со следующей строкой, код может работать не так, как ожидается.

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

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

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

const hello = 'hello, world'

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

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

const hello = 'hello, world';

(func = () => console.log(hello))();
85284763_3408ab789a0ef2b84e7109e05bf21487_800.png

 

Похожие темы

Назад
Сверху