Sobes.tech
Junior — Middle

Ի՞նչ է JavaScript-ում ֆունկցիաներ կանչելու հիմնական տարբերությունը bind և apply մեթոդների միջոցով:

sobes.tech AI

Պատասխան AI-ից

JavaScript- ում bind և apply միջև հիմնական տարբերությունը:

  • bind ստեղծում է նոր ֆունկցիա, որի հետ կապված կոնտեքստը (this) և նախնական արգումենտները (եթե կան)։ Այս նոր ֆունկցիան կարող է կոչվել հետագայում:
  • apply անմիջապես կանչում է ֆունկցիան նշված կոնտեքստով և փոխանցված արգումենտներով, որոնք տրվում են որպես զանգված:

Օրինակ՝

function greet(greeting, punctuation) {
  console.log(greeting + ', ' + this.name + punctuation);
}

const person = { name: 'Иван' };

const boundGreet = greet.bind(person, 'Привет');
boundGreet('!'); // Տպում է՝ Привет, Иван!

// `apply`-ով անմիջապես կանչում ենք

greet.apply(person, ['Здравствуйте', '.']); // Տպում է՝ Здравствуйте, Иван.