Вопрос проверяет понимание статических методов в ООП. Он помогает отличить их от обычных методов и узнать, где они применяются.
Статический метод — это функция класса, которая вызывается без создания экземпляра. Она принадлежит самому классу, а не объекту. Например, Math.random() — статический метод, так как не требует new Math().
Статические методы используются для функциональности, которая не зависит от конкретного объекта. Они определяются через ключевое слово static.
Пример в JavaScript:
class User {
static createGuest() {
return new User("Гость");
}
constructor(name) {
this.name = name;
}
}
// Вызов без new:
const guest = User.createGuest();
console.log(guest.name); // "Гость"Отличия от обычных методов:
Вызов: Статический метод вызывается через имя класса (Class.method()), а обычный — через экземпляр (obj.method()).
Контекст: В статическом методе нет доступа к this объекта, так как он работает на уровне класса.
Где применяется?
Фабричные методы (как createGuest выше).
Вспомогательные функции, например, валидация данных.
Утилиты, как в Math или Array.isArray().
Важно:
Статические методы не могут обращаться к нестатическим полям класса, так как они существуют до создания объектов.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию