Потому что JavaScript делает с вами неприятные вещи, когда угадывает, где поставить точку с запятой. Лучше быть явным и позволить интерпретатору точно знать, что вы имели в виду, чем позволить ящику идиота догадываться от вашего имени.
Ссылки:
… и несколько тысяч.
Если вы спросите, потому что вы пришли из Python: разница в том, что
в Python вы не должны завершать работу строки с чем угодно, но разрешено использовать точку с запятой, если вы должны
в JavaScript, вы должны завершать строки точкой с запятой, но разрешены (PDF, стр. 26, пункт 7.9) , чтобы опустить его, если это однозначно
Как Дуглас Крокфорд предлагает -
Поместите; (точка с запятой) в конце каждого простого оператора. Обратите внимание, что оператор присваивания, который присваивает литерал функции или литерал объекта, по-прежнему является оператором присваивания и должен заканчиваться точкой с запятой.
Потому что
jsmin
, который нарушает код, который в некоторых местах полагается на ASI)