# Apply

Метод apply является одним из методов, который можно использовать с функциональными объектами в JavaScript. Он позволяет вызывать функцию с заданным значением this и аргументами, предоставленными в виде массива (или псевдомассива).

Синтаксис: function.apply(thisArg, [argsArray])

  • function - функция, которую нужно вызвать
  • thisArg - значение this, которое будет использовано при вызове функции
  • argsArray (необязательный аргумент) - массив или псевдомассив, содержащий аргументы функции

Метод apply будет исполнять функцию, используя указанное значение this, и передавать аргументы функции из массива argsArray. Если argsArray не предоставлен, то функция будет вызвана без аргументов (или с undefined, если функция требует аргументы).

# Прмиер использования apply:

function greet(name, age) {
  console.log(`Привет, меня зовут ${name} и мне ${age} лет.`);
}

const person = {
  name: "Alice",
  age: 25,
};

greet.apply(person, ["Bob", 30]);

// Выведет: Привет, меня зовут Bob и мне 30 лет.

В этом примере, мы объявили функцию greet, которая принимает два аргумента - имя и возраст. Затем мы создали объект person со свойствами name и age. С использованием метода apply, мы вызываем функцию greet() с объектом person в качестве значения this, и передаем аргументы name и age через массив ['Bob', 30].

Важно отметить, что apply идентичен методу call, за исключением того, что apply принимает массив аргументов, а call принимает отдельные аргументы.

# Заключение

Метод apply полезен в ситуациях, когда у вас есть функция, которая ожидает аргументы в виде массива или псевдомассива, и когда вам нужно использовать определенное значение this, отличное от контекста, в котором функция была определена.