Встречается на собеседованиях • сегодня

Можно ли экспортированную переменную поменять в одном модуле чтобы она изменилась в другом

В JavaScript экспортированные переменные ведут себя по-разному в зависимости от типа экспорта:

  1. При именованном экспорте (export const/let):
    • Если переменная объявлена через let, её можно изменить в модуле-источнике, и изменения будут видны во всех импортирующих модулях
    • Но нельзя переопределить саму переменную из импортирующего модуля
js
// moduleA.js
export let counter = 0;

// moduleB.js
import { counter } from './moduleA';
counter++; // Изменение отразится везде
  1. При экспорте по умолчанию (export default):
    • Если экспортируется объект, его свойства можно изменять
    • Примитивы (числа, строки) нельзя изменить после экспорта
js
// moduleA.js
export default { value: 1 };

// moduleB.js
import obj from './moduleA';
obj.value = 2; // Изменение возможно

Важно: модули в JS работают с живыми ссылками на экспортируемые значения, а не с копиями.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы