[ITEM 1] QUESTION: Чим відрізняються var, let і const?
У сучасному мові програмування JavaScript існує три ключових способи оголошення змінних: var, let і const. Розуміння відмінностей між ними критично важливо для написання передбачуваного та якісного коду. Історично першими з'явилися змінні через var. Їх головною особливістю є функціональна область видимості, що означає доступність змінної всередині всієї функції, де вона була оголошена, незалежно від блоків коду. Крім того, var схильний до механізму спливання, або hoisting, і дозволяє повторно оголошувати ту саму змінну в межах однієї області видимості без виклику помилок, що часто призводить до важковловимих багів.
З появою стандарту ES6 арсенал розробників поповнився ключовими словами let і const, які вводять блочну область видимості. Змінні, оголошені через let, обмежені поточним блоком коду, узятим у фігурні дужки, і не можуть бути переоголошені в тій самій області видимості, хоча їхнє значення можна змінювати в процесі виконання програми. Ключове слово const працює аналогічно let, встановлюючи блочну область видимості, але накладає суворе обмеження на переприсвоєння змінної. Важливо зазначити, що якщо const використовується з об'єктами або масивами, саму вмістимість структури можна мутувати, змінюючи властивості або елементи, проте посилання на новий об'єкт присвоїти вже не вийде. У сучасній практиці розробки рекомендується використовувати const за замовчуванням для всіх незмінних посилань, а let застосовувати виключно тоді, коли значення змінної дійсно планується перезаписувати.