Ответ к QUIZ 1 #uProgrammer

Ответ к QUIZ 1 #uProgrammer

Твой Программист

Ответ: D

Каждая функция имеет свой собственный контекст исполнения (или область действия). Функция getChannel сначала ищет в своем собственном контексте (области действия), чтобы увидеть, содержит ли она переменную channel, к которой мы пытаемся получить доступ. В этом случае функция getChannel содержит собственную переменную channel: мы объявляем переменную channel с ключевым словом let и значением 'U Programmer'.

Переменные с ключевым словом let (и const) поднимаются в начало функции, в отличие от var, которые не инициализируется. Они недоступны до того, как мы объявим (инициализируем) их строку. Это называется "временной мертвой зоной". Когда мы пытаемся получить доступ к переменным до их объявления, JavaScript выдает ReferenceError.

Если бы мы не объявили переменную channel в функции getChannel, движок javascript посмотрел бы вниз по цепочки области действия. Внешняя область имеет переменную с именем channel со значением Твой Программист.

let channel = 'Твой Программист'

function getChannel() {
  console.log(channel)
}

getChannel() // Твой Программист


Твой Программист
💻

Report Page