Публикации по теме 'hoisting'
Поднимите меня хозяин
Подъем – это свойство в Javascript, в котором вы можете получить доступ к переменным и функциям перед их инициализацией. Мы можем получить к нему доступ без каких-либо ошибок.
Еще до того, как код начнет выполняться, память выделяется для всех переменных и функций. Поднятые переменные объявляются неопределенными. Функции выполняются как обычно, а стрелочные функции обрабатываются как переменные, поэтому они будут неопределенными.
var getName2 = function(){} — рассматривается..
Подъем JavaScript
Поднятие — это поведение JavaScript, которое перемещает объявления переменных и функций в верхнюю часть области видимости, что означает, что переменные и функции объявляются и выделяются памяти еще до выполнения кода.
Теперь давайте углубимся в объявление переменных и функций в JavaScript.
function func1()
{
console.log("This is func1");
}
func1();
Вот как вы обычно объявляете функцию, да?
Итак, как и ожидалось, вы получите журнал без каких-либо проблем.
Но что..
Глубокое погружение в JavaScript
Javascript — это синхронный однопоточный язык. Это означает, что JS может выполнять одну команду за раз в определенном порядке.
Как работает JS-код?
Возьмем простой пример
var n = 2;
function square (num) {
var ans = num * num;
return ans;
}
var square2 = square(n);
var square4 = square(4);
Когда мы запускаем код JS, он создает глобальный контекст выполнения (GEC) внутри стека вызовов. GEC был создан в два этапа, т.е.
Фаза создания памяти
На этом этапе все переменные..
Временная мертвая зона в JavaScript
В JavaScript временная мертвая зона (TDZ) относится к определенному поведению, связанному с объявлениями переменных с использованием ключевых слов let и const. TDZ — это концепция, представленная в ECMAScript 2015 (ES6) как часть спецификации языка для обеспечения соблюдения правил области видимости блока. Чтобы понять TDZ, давайте рассмотрим процесс объявления и присвоения переменных в JavaScript.
Когда вы объявляете переменную с помощью let или const, переменная поднимается наверх..
Разница между let и const
Переменные let и const также поднимаются
Let и const являются переменными области действия блока, поэтому переменные let и const становятся доступными после запуска блока, а после завершения блока выполняется сборка мусора.
Переменные let и const также поднимаются, как var и функции, но не инициализируются —
давайте проверим приведенный ниже фрагмент кода, где мы пытаемся получить доступ к переменной до ее инициализации. Это дает сообщение об ошибке, говорящее, что мы не можем получить..