# var, let и const

**var**

* обмежена областю видимості **функції**
* її значення буде `undefined` якщо ви спробуєте звернутися до неї до її оголошення

**let**

* обмежена областю видимості **блоку**
* ви отримаєте `ReferenceError`, якщо спробуєте звернутися до неї до її оголошення

[Детальніше про відмінності var і let](var-let-const/var-vs-let).

**const**

* обмежена областю видимості **блоку**
* ви отримаєте `ReferenceError`, якщо спробуєте звернутися до неї до її оголошення
* не може бути перезаписана

Див.:

* :link: [https://learn.javascript.ru/let-const](https://learn.javascript.ru/let-const)
* :link: [https://habr.com/ru/post/438880/](https://habr.com/ru/post/438880/)
