Код IT Загрузка примера кода…

JavaScript main.js
function showInfo(city, country) {
    // this здесь — тот объект, который мы передадим вручную
    return `Я живу в ${this.city}, ${this.country}. Город: ${city}, Страна: ${country}`;
}

const traveler = {
    city: "Уфа",
    country: "Россия"
};

// call: передает аргументы списком
console.log(showInfo.call(traveler, "Москва", "США")); 
// Результат: "Я живу в Уфа, Россия. Город: Москва, Страна: США"

// apply: передает аргументы массивом
console.log(showInfo.apply(traveler, ["Казань", "Татарстан"])); 
// Результат: "Я живу в Уфа, Россия. Город: Казань, Страна: Татарстан"

// bind: возвращает новую функцию с предзаданным this
const boundShowInfo = showInfo.bind(traveler);
console.log(boundShowInfo("Башкирия", "РФ")); 
// Результат: "Я живу в Уфа, Россия. Город: Башкирия, Страна: РФ"
function showInfo(city, country) {
    // this здесь — тот объект, который мы передадим вручную
    return `Я живу в ${this.city}, ${this.country}. Город: ${city}, Страна: ${country}`;
}

const traveler = {
    city: "Уфа",
    country: "Россия"
};

// call: передает аргументы списком
console.log(showInfo.call(traveler, "Москва", "США")); 
// Результат: "Я живу в Уфа, Россия. Город: Москва, Страна: США"

// apply: передает аргументы массивом
console.log(showInfo.apply(traveler, ["Казань", "Татарстан"])); 
// Результат: "Я живу в Уфа, Россия. Город: Казань, Страна: Татарстан"

// bind: возвращает новую функцию с предзаданным this
const boundShowInfo = showInfo.bind(traveler);
console.log(boundShowInfo("Башкирия", "РФ")); 
// Результат: "Я живу в Уфа, Россия. Город: Башкирия, Страна: РФ"