end video

Този урок е достъпен само в платената версия на курса.

Вземи достъп до всички уроци 💫 цена: 99лв.

Ако вече имаш регистриран профил натисни тук.

§ Как да работим с call, bind и apply в JavaScript

След като вече знаем какво е scope и какво е this в JavaScript може да си поговорим за функциите call, bind и apply.

call и apply са методи на обекта Function в JavaScript, които служат за извикване на функция. Разликата между тях е в това как се подават аргументите на функцията - call подава аргументите един по един, докато apply подава аргументите във вид на масив.

Например, ако имаме функция f и искаме да я извикаме с аргументите 1 и 2, можем да го направим по следния начин:

f.call(1, 2); // извикване с call
f.apply([1, 2]); // извикване с apply

bind е също метод на Function, но той връща нова функция, която е "закачена" към дадения контекст (т.е. определя какъв обект ще бъде използван като this в тялото на функцията. Ето един пример за това как може да се използва bind методът:

const person = {
  name: 'John'
};
function print() {
  console.log(`Hey, ${this.name}`);
}
const f = print.bind(person);
f(); // извежда "Hey, John"
questionnaire

Практика

Практиката е най-бързия начин да усвоиш знания трайно. Подготвил съм ти малка задача свързана с урока.

Практика
discussion

Материали

Материали свързани с урока:
Файлове към урока
.call (MDN)
.apply (MDN)
.bind (MDN)

Материали

Следва: Асинхронен JavaScript(21:00)

Към урока →