JavaScript

Нужно ли ставить точку с запятой после каждого выражения в JavaScript?

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

Спасибо всем заранее за ответы=)
OQ
Orxan Qaraxanli
68 719
Точка с запятой эта она из важнейших особенности языка ставя точу с запятой ты движку даёшь понять что твоя мысль на этом за кончина . Так что насколько нестандартно ты не написал код поставив ; ты дал пояснения что на этом всё так например цикл можно написать без тела for(); и это будет работать

М*
Максон **
62 088
Лучший ответ
Точка с запятой ставится после выражений, и не ставится после блоков операторов (if, for, while, function, и т. д.).

Например:
if (a > b.max)
 a = b.max;  // выражение

if (c === 42) {
 a = Infinity;
 b = { min: 0, max: 10 };  // выражение
}  // блок тела if

function foo(bar) {
 alert(typeof bar);
}  // блок тела функции

let dbg = function () { console.log(b.min); };  // выражение (функциональное)

Парсер движка V8 обычно понимает, где пропущены точки с запятой, и где они лишние - не выбрасывая ошибок... Но правильнее самому не косячить, и соблюдать синтаксис (линтеры подсказывают, где синтаксис нарушен).
Дмитрий Кучин
Дмитрий Кучин
89 938
Orxan Qaraxanli Спасибо, я добавил это правило в ESLint
теперь он всегда будет запрашивать семиколон после выражения
может я не так понял, но вообще точки с запятой всегда ставятся.
Наоборот браузер в каких-то случаях может сожрать и без ; но линтер заставит ставить.
Видимо ставите там, где не нужно. Увидеть бы код, а не гадать на кофейной гуще.
И смотря какой у вас набор правил, рекомендую от AirBNB
Эдик Шлёмин
Эдик Шлёмин
7 119
Orxan Qaraxanli Спасибо, на картинке самый простой пример
линтер используют нубы.

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

но я на Си много прогал, поэтому мне привычнее с ;. с ними код выглядит как-то строже.
Делать как написано в стандарте кодирования.
Phoenix Svan
Phoenix Svan
1 423