Встречается на собеседованиях • сегодня
В чем разница между call и apply в JavaScript
Оба метода call и apply используются для вызова функции с определенным контекстом this и аргументами. Разница в том, как передаются аргументы:
callпринимает аргументы через запятую:
javascript
func.call(context, arg1, arg2, ...);applyпринимает аргументы в виде массива (или array-like объекта):
javascript
func.apply(context, [arg1, arg2, ...]);Пример:
javascript
function greet(greeting, punctuation) {
console.log(greeting + ', ' + this.name + punctuation);
}
const person = { name: 'Alice' };
greet.call(person, 'Hello', '!'); // "Hello, Alice!"
greet.apply(person, ['Hi', '?']); // "Hi, Alice?"В современных версиях JS с оператором spread (...) разница менее значима, так как можно использовать call с spread: func.call(context, ...args).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы