Назад к задачам
Альфа-БанкПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
5
Что выведет консоль при вызове методов объекта в JavaScript
Компании, где спрашивали:
Условие задачи
Нужно предсказать, какие значения появятся в консоли после выполнения каждой строки кода ниже. Обратите внимание на различия между обычными функциями и стрелочными, а также на влияние bind и потерю контекста.
var person = {
firstName: 'Bill',
lastName: 'Ivanov',
sayName: function() {
console.log(this.firstName);
},
sayLastName: () => {
console.log(this.lastName);
}
};
person.sayName(); // ?
var unboundSayName = person.sayName;
unboundSayName(); // ?
person.sayName.bind({ firstName: 'Boris' })(); // ?
person.sayName(); // ?
person.sayLastName(); // ?
person.sayName.bind({ firstName: 'Boris' }).bind({ firstName: 'Tom' })(); // ?
person.sayLastName.bind({ lastName: 'Petrov' })(); // ?