Вызывает функцию с заданным значением this и аргументами, предоставленными в виде массива (или массивоподобного объекта).
Что делает функция apply в JavaScript?
Вызывает функцию с заданным значением this и аргументами, предоставленными в виде массива (или массивоподобного объекта).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Вызывает функцию с заданным значением this и аргументами, предоставленными в виде массива (или массивоподобного объекта).
Основное применение:
- Изменение контекста выполнения функции (значения
this). - Передача аргументов в виде массива.
Сравнение с call и bind:
| Метод | Аргументы | Контекст this |
Возврат |
|---|---|---|---|
apply |
Массив/массивоподобный объект | Устанавливается | Результат выполнения функции |
call |
Разделенные аргументы (через запятую) | Устанавливается | Результат выполнения функции |
bind |
Разделенные аргументы (через запятую) | Устанавливается | Новая функция с привязанным контекстом |
Пример:
// Определение функции
function greet(greeting, name) {
console.log(`${this.title} ${greeting}, ${name}!`);
}
const person = { title: 'Mr.' };
const args = ['Hello', 'Alice'];
// Вызов функции с изменением контекста и передачей аргументов из массива
greet.apply(person, args); // Выведет: Mr. Hello, Alice!