Веб Мастерская | Веб разработка и программирование | ИТ | IT
Без категории · 23 сентября 2026 г.
JavaScript:
JavaScript: Коллеги, если вы хоть раз ловили баг, когда переменная «внезапно» видна не там, где надо, — добро пожаловать. Разберём блочную и функциональную область видимости на живых примерах. Функциональная область видимости — это классика с var. Переменная живёт внутри функции и не знает про блоки. function test() { if (true) { var x = 10; } console.log(x); // 10 } test(); Видите? x объявлена внутри if, но спокойно доступна снаружи условия. Для var блок {} — не граница, а просто декорация. Теперь блочная область видимости с let и const. Тут всё строже: что произошло в блоке — остаётся в блоке. function test() { if (true) { let y = 20; const z = 30; } console.log(y); // ReferenceError console.log(z); // ReferenceError } test(); Практика: циклы. Классический подвох с var: for (var i = 0; i < 3; i++) { setTimeout(() => console.log(i), 10); } // 3 3 3 Одна переменная i на всю функцию, поэтому колбэки видят финальное значение. Меняем на let: for (let i = 0; i < 3; i++) { setTimeout(() => console.log(i), 10); } // 0 1 2 let создаёт новую i для каждой итерации. Магия? Нет, блочная область видимости. Это защищает от случайных перезаписей и делает код чище. Мой совет из продакшена: по умолчанию используйте const, когда нужно переназначить — let, а var оставьте в музее легаси. Так меньше сюрпризов, больше предсказуемости. Вот так. Идем кодить дальше! 🚀 #JavaScript #JS #WebDev #Frontend #Верстка #Программирование #Код #Разработка #ВебРазработка #JuniorDev #Фронтенд #Коддинг #Абрамов #ВебМастерская