TGViewer
{ Снежные строки } { Снежные строки } @snowlines · 89 subscribers
Post #27 115
❄️ Продолжая тему про Лексическое окружение. Хочу рассказать про поднятие (hosting) в js.

Поднятие - Перемещение всех объявлений в начало текущей области видимости. То есть возможность использовать переменные или функции до того, как мы объявили их в коде.

❕ Поднятие переменных
Все объявление переменных поднимаются, но есть отличие между var и let/const

var переменные - поднимаются и автоматически инициализируются undefined
let/const переменные - так же поднимаются, но автоматически не инициализируются. В следствии чего обращение к таким переменным, до их объявление приведет к ошибке ReferenceError ❗️

console.log(name); // undefined
var name = 'Снежные строки';

console.log(tmpName); // ReferenceError: tmpName is not defined
let tmpName = 'Снежные строки';


❕ Поднятие функций
Объявление функции с помощью function - поднимается и инициализируется ссылкой на эту функцию. Из-за этого у нас есть возможность вызывать функцию до ее объявления.

fun(); // Снежные сроки

function fun() {
console.log("Снежные сроки");
}


fun2() // ReferenceError: fun2 is not defined

let fun2 = () => {
console.log("Снежные сроки");
}

#JavaScript
  • ❤ 3
  • 🔥 2
  • 💯 2
  • 👨‍💻 1
More from @snowlines
  1. Jul 8, 2025Post #94
  2. Jul 3, 2025❄️ Вернулась с отпуска, сейчас нужно заново научиться работать
  3. Jun 9, 2025❄️ Хочу начать серию постов про Redux Redux - state manager, которым я пользуюсь, как в ли…
  4. Jun 5, 2025Post #91
  5. Jun 5, 2025#Задачи
  6. May 24, 2025❄️ Функция высшего порядка Тема, которую можно встретить на собеседованиях очень часто. Да…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →