> Что изменится в поведении методов при использовании классов и вызове методов из инстанса в JavaScript (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Точка

Стек: JavaScript

> Пример ответа

В JavaScript при использовании классов и вызове методов из инстанса ключевое изменение связано с контекстом this. В методах класса, объявленных через синтаксис method(), this автоматически привязывается к экземпляру класса при вызове через точку (например, obj.method()). Однако если передать метод как колбэк (например, в обработчик события), контекст теряется, и this становится undefined в строгом режиме или глобальным объектом в нестрогом.

Пример:

JAVASCRIPT
class MyClass {
constructor(value) {
this.value = value;
}
show() {
console.log(this.value);
}
}
const obj = new MyClass(42);
obj.show(); // 42 - контекст сохранён
const callback = obj.show;
callback(); // undefined (или ошибка в strict mode)

Чтобы избежать потери контекста, используют стрелочные функции в конструкторе (они захватывают this из области видимости) или явную привязку через .bind(). В отличие от обычных объектов, где метод можно переопределить динамически, в классах методы находятся на прототипе, а не в самом инстансе, что экономит память, но требует внимания к контексту.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью