JavaScript: область видимости
разбираемся с видимостью переменных в JavaScript
Какой результат будет получен, если вывести в консоль значение переменной, которую переименовали внутри функции замыкания?
let name = "Rayn";
(function showName() {
if (name === "Rayn") {
let name = "Rayn Dahl";
console.log(name);
}
console.log(name);
})();
console.log(name);
Результат:
Функция замыкания showName получает переменную name из внешней области видимости. А в конструкцииif ()... с помощью директивы let создается новая переменная name c другим значением и ограниченной областью видимости. Поэтому первый console.log(name) выводит значение Rayn Dahl. а второй console.log(name) показывает Rayn, обращаясь к значению переменной из внешней области видимости.
Rayn Dahl
Rayn
Спасибо за внимание.
