Войти Регистрация
Фронтенд

78. Черновик объявления: что запомнило замыкание

Средняя

Что выведет код? Запишите строки по порядку, по одной на строку.

В работе: Колбэк предпросмотра в форме подачи объявления держит старые данные после смены города.

Как проверяем Код не запускаем — предскажите вывод. Пишите строки по порядку, по одной на строку; пробелы по краям не важны. Ответ один на подход: после него показываем разбор.
замыканияпередача по ссылкеобласть видимости

Источник: Авито, задача «функция меняет данные и возвращает другую функцию», репозиторий кандидата, 2024. Условие пересказано своими словами.

  1. function editAd(price, city) {
  2. price.rub = 4000;
  3. city = 'Казань';
  4. let promoted = true;
  5. return function print() {
  6. console.log(price.rub, city, promoted);
  7. };
  8. }
  9. let price = { rub: 5000 };
  10. let city = 'Москва';
  11. let promoted = false;
  12. const print = editAd(price, city);
  13. console.log(price.rub, city, promoted);
  14. price = { rub: 100 };
  15. city = 'Сочи';
  16. promoted = null;
  17. print();
  18. const again = editAd(price, city);
  19. price.rub = 7;
  20. again();
  21. console.log(price.rub, city);