Что делает метод apply ?
Спросят с вероятностью 7%
Метод apply позволяет вызвать функцию с определённым значением
Зачем он нужен
Метод
1️⃣Нужно вызвать функцию с конкретным значением
2️⃣Необходимо передать аргументы в виде массива, особенно когда их количество заранее неизвестно.
Как он используется
Синтаксис метода
✅
✅
Пример
В этом примере:
✅Функция
✅Метод
Зачем использовать apply вместо других методов
Особенно удобен, когда аргументы уже находятся в массиве. Если бы использовался метод
Еще один пример: использование с встроенными методами
Метод
Здесь:
✅
✅
Метод
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1429 вопроса на Frontend разработчика. Ставь 👍 если нравится контент
🔐 База собесов | 🔐 База тестовых
Спросят с вероятностью 7%
Метод apply позволяет вызвать функцию с определённым значением
this
и передать аргументы в виде массива (или массивоподобного объекта). Он является частью прототипа функции и используется для управления контекстом выполнения функции и передачи аргументов.Зачем он нужен
Метод
apply
полезен в ситуациях, когда:1️⃣Нужно вызвать функцию с конкретным значением
this
.2️⃣Необходимо передать аргументы в виде массива, особенно когда их количество заранее неизвестно.
Как он используется
Синтаксис метода
apply
выглядит так:function.apply(thisArg, [argsArray])
✅
thisArg
: Значение, используемое для this
при вызове функции.✅
argsArray
: Массив или массивоподобный объект, содержащий аргументы для функции.Пример
function greet(greeting, punctuation) {
console.log(greeting + ', ' + this.name + punctuation);
}
const person = { name: 'Alice' };
greet.apply(person, ['Hello', '!']); // Вывод: "Hello, Alice!"
В этом примере:
✅Функция
greet
принимает два аргумента и использует this.name
.✅Метод
apply
вызывает greet
с this
, указывающим на объект person
, и передает массив аргументов ['Hello', '!']
.Зачем использовать apply вместо других методов
Особенно удобен, когда аргументы уже находятся в массиве. Если бы использовался метод
call
, пришлось бы передавать аргументы вручную:greet.call(person, 'Hello', '!'); // То же самое, но аргументы передаются по отдельности
Еще один пример: использование с встроенными методами
Метод
apply
можно использовать для передачи массивов встроенным функциям, которые не работают напрямую с массивами. Например, использование метода Math.max
для нахождения максимального значения в массиве:const numbers = [5, 6, 2, 3, 7];
const max = Math.max.apply(null, numbers); // 7
Здесь:
✅
Math.max
ожидает список отдельных чисел, а не массив.✅
apply
передает массив как набор отдельных аргументов.Метод
apply
вызывает функцию с определённым значением this
и аргументами в виде массива. Это удобно, когда аргументы уже находятся в массиве и нужно управлять контекстом выполнения функции.👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1429 вопроса на Frontend разработчика. Ставь 👍 если нравится контент
🔐 База собесов | 🔐 База тестовых