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

21. this в методе, колбэке и после bind

Средняя

Что выведет код? Если строка ловит ошибку, печатается её имя. Запишите строки по порядку.

В работе: Метод класса передали обработчиком в onClick, и он потерял объект.

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

Источник: на задачах Сбера: объект счёта в веб-интерфейсе. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.
  1. 'use strict';
  2. const account = {
  3. owner: 'Ирина',
  4. name() { return this.owner; },
  5. viaFunction() { return [1].map(function () { return this; })[0]; },
  6. viaArrow() { return [1].map(() => this.owner)[0]; },
  7. };
  8. console.log(account.name());
  9. const name = account.name;
  10. try { console.log(name()); } catch (e) { console.log(e.name); }
  11. console.log(account.viaFunction());
  12. console.log(account.viaArrow());
  13. const bound = account.name.bind({ owner: 'Олег' });
  14. console.log(bound.call({ owner: 'Пётр' }));