Назад к вопросам
ОТП Банк
Middle
1
Какие методы работы с контекстом (this) существуют? Какова сигнатура вызова метода call? Чем call отличается от apply?
Компании, где спрашивали
Ответ от нейросети
sobes.tech 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, ['Здравствуйте', '.']); // Здравствуйте, Иван.