Выбор ответа Middle Модули обновлено
Живая привязка импорта
Вопрос
Что выведет main.js?
// counter.js
export let count = 0;
export function inc() { count++; }
// main.js
import { count, inc } from './counter.js';
console.log(count);
inc();
console.log(count);
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 0 и 1. В ES-модулях импорт это живая привязка к переменной экспортёра, а не копия значения. inc() меняет count внутри counter.js, и main.js видит новое значение 1.
Варианты ответа
0и00иundefined1и10и1правильный ответ
Разбор
В ES-модулях импорт это живая привязка к переменной экспортёра, а не копия значения. inc() меняет count внутри counter.js, и main.js видит новое значение 1. В CommonJS при const { count } = require(...) было бы 0 и 0: деструктуризация копирует значение один раз. undefined неоткуда взяться: переменная инициализирована нулём.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.