Middle
Welche Methoden gibt es, um mit dem Kontext (this) zu arbeiten? Wie lautet die Signatur des call-Methodenaufrufs? Worin unterscheidet sich call von apply?
sobes.tech KI
Antwort von AI
В JavaScript контекст (this) определяется тем, как вызывается функция. Основные методы работы с контекстом:
- call — вызывает функцию с указанным контекстом и аргументами, передаваемыми по одному.
- apply — похож на call, но аргументы передаются в виде массива.
- bind — возвращает новую функцию с привязанным контекстом, которую можно вызвать позже.
Сигнатура метода call:
func.call(thisArg, arg1, arg2, ...)
Разница между call и apply в способе передачи аргументов:
- call принимает аргументы через запятую
- apply принимает массив аргументов
Пример:
function greet(greeting, punctuation) {
console.log(greeting + ', ' + this.name + punctuation);
}
const person = { name: 'Иван' };
greet.call(person, 'Привет', '!'); // Привет, Иван!
greet.apply(person, ['Здравствуйте', '.']); // Здравствуйте, Иван.