Определите, что будет выведено в консоль (пример 6)

Сначала консоль выведет cat, затем undefined. Функция a сохраняет доступ к index через замыкание, но ничего явно не возвращает.

Короткий ответ

Что ответить на собеседовании

Сначала консоль выведет cat, затем undefined. Функция a сохраняет доступ к index через замыкание, но ничего явно не возвращает.

Подробный разбор

Ответ с пояснениями

Условие

Нужно понять, какое значение переменной index окажется в выводе консоли.

function get() {
  const index = 'cat';
  return {
    fn1: () => { console.log(index) },
    fn2: () => { console.log('Hello_2') }
  }
}

const { fn1: a, fn2: b } = get();

console.log(a());

Ответ

Сначала консоль выведет cat, затем undefined. Функция a сохраняет доступ к index через замыкание, но ничего явно не возвращает.

Деструктуризация только переименовала fn1 в a и fn2 в b. При вычислении аргумента внешнего console.log вызывается a(), которая печатает cat; её результат undefined затем печатает внешний вызов. Fn2 здесь не выполняется.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее