
Този урок е достъпен само в платената версия на курса.
Вземи достъп до всички уроци 💫 цена: 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)
