Что выведет код? Если строка ловит ошибку, печатается её имя. Запишите строки по порядку.
В работе: Метод класса передали обработчиком в onClick, и он потерял объект.
Как проверяем
Код не запускаем — предскажите вывод. Пишите строки по порядку, по одной на строку; пробелы по краям не важны. Ответ один на подход: после него показываем разбор.
Источник: на задачах Сбера: объект счёта в веб-интерфейсе. Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
'use strict';const account = {owner: 'Ирина',name() { return this.owner; },viaFunction() { return [1].map(function () { return this; })[0]; },viaArrow() { return [1].map(() => this.owner)[0]; },};console.log(account.name());const name = account.name;try { console.log(name()); } catch (e) { console.log(e.name); }console.log(account.viaFunction());console.log(account.viaArrow());const bound = account.name.bind({ owner: 'Олег' });console.log(bound.call({ owner: 'Пётр' }));