Назад к вопросам
Junior — Middle
89
Чем отличаются функции call и apply в контексте вызова методов в JavaScript?
Ответ от нейросети
sobes.tech AI
В JavaScript функции call и apply используются для вызова функции с явным указанием контекста (this), но отличаются способом передачи аргументов:
call(thisArg, arg1, arg2, ...)— принимает список аргументов через запятую.apply(thisArg, [argsArray])— принимает аргументы в виде массива или подобного массива объекта.
Пример:
function greet(greeting, punctuation) {
console.log(greeting + ', ' + this.name + punctuation);
}
const person = { name: 'Анна' };
greet.call(person, 'Привет', '!'); // Привет, Анна!
greet.apply(person, ['Здравствуйте', '...']); // Здравствуйте, Анна...
apply удобен, когда аргументы уже находятся в массиве, а call — когда аргументы известны и передаются явно.