Точки с запятой
Что не так?
Найдите ошибку в коде, не запуская его
let a = 5
(function() {
alert(a)
})()
Почему так?
TypeError: 5 is not a function
Пропущенная точка с запятой приводит к тому, что самовызываемая функция превращается в аргумент при
выполнении числа 5
как функции.
Это равноценно такой записи
let a = 5(function() {alert(a)})()
5
— примитив, его нельзя выполнить и из-за этого скрипт умирает.
![ПОТРАЧЕНО](/static/wasted-94ec1a3fa208f6f9016c9fb13e85ff7f.jpg)
Корректная запись
let a = 5;
(function() {
alert(a)
})();
Что же делать?
Соблюдайте стиль кодирования и всегда ставьте точки с запятой и фигурные скобки.