Този урок е достъпен само в платената версия на курса.
Вземи достъп до всички уроци 💫 цена: 99лв.
Основи на уеб програмирането
След като вече знаем какво е 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"
Практиката е най-бързия начин да усвоиш знания трайно. Подготвил съм ти малка задача свързана с урока.
Материали свързани с урока:
→ Файлове към урока
→ .call (MDN)
→ .apply (MDN)
→ .bind (MDN)