Back to questions
Junior
88
questionbank
Что передается вторым аргументом в методах call, apply и bind?
Sobes Copilot
Get answers in real time
Answer from AI
sobes.tech AI
Вторым аргументом в методах call и apply, а также первым дополнительным аргументом (после контекста) в методе bind передаются аргументы, которые будут переданы в вызываемую функцию.
Разница в том, как эти аргументы передаются:
- call: Принимает аргументы списком, через запятую.
- apply: Принимает аргументы массивом.
- bind: Возвращает новую функцию. Аргументы, переданные при вызове
bindпосле контекста, становятся начальными аргументами новой функции (их называют "частично примененные" аргументы). При вызове новой функции к этим начальным аргументам добавляются аргументы, переданные при самом вызове.
Примеры:
// Функция для демонстрации
function greet(greeting, punctuation) {
console.log(greeting + ' ' + this.name + punctuation);
}
const person = { name: 'Alice' };
// Использование call
greet.call(person, 'Hello', '!'); // Выведет: Hello Alice!
// Использование apply
greet.apply(person, ['Hi', '.']); // Выведет: Hi Alice.
// Использование bind
const greetAlice = greet.bind(person, 'Hey');
greetAlice('...'); // Выведет: Hey Alice...
Таблица:
| Метод | Передача аргументов |
|---|---|
| call | Список |
| apply | Массив |
| bind | Как начальные аргументы при создании новой функции |