Выбор ответа Middle Области видимости и замыкания обновлено
var с именем параметра функции
Вопрос
Что выведет код?
function f(x) {
var x;
return x;
}
console.log(f(5));
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 5. var x без инициализатора внутри функции с параметром x ничего не делает: переменная уже есть, повторное объявление var разрешено и значение не сбрасывает.
Варианты ответа
5правильный ответundefined- SyntaxError: x уже объявлен
null
Разбор
var x без инициализатора внутри функции с параметром x ничего не делает: переменная уже есть, повторное объявление var разрешено и значение не сбрасывает. Поэтому вернётся переданное 5. undefined было бы, если бы объявление создавало новую переменную. SyntaxError случился бы с let x: он конфликтует с параметром. null движок сам никогда не подставляет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.