> В чем разница между статическими и нестатическими методами в классах JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Сбер
Стек: JavaScript
> Пример ответа
Основное различие - в принадлежности к экземпляру класса или к самому классу. Статические методы (объявляются с ключевым словом static) вызываются непосредственно на классе, а не на его экземплярах. Они не имеют доступа к this, указывающему на конкретный объект, и не могут обращаться к свойствам экземпляра. Нестатические методы, наоборот, вызываются на созданных объектах и имеют доступ к this (текущему экземпляру) и его данным.
Пример:
JAVASCRIPTclass MathHelper {static add(a, b) { return a + b; }multiply(a, b) { return a * b; }}MathHelper.add(2, 3); // 5 - статический вызовconst helper = new MathHelper();helper.multiply(2, 3); // 6 - вызов на экземпляре// helper.add(2, 3); // Ошибка: add не доступен на экземпляре
Статические методы удобны для утилит, фабрик или конфигураций, не зависящих от состояния объекта. Нестатические - для операций, работающих с данными конкретного экземпляра.
> Похожие задачи по frontend
Как игнорировать порядок элементов в массивах при сравнении JSON в тестах
Как проверять разные наборы полей одного класса при десериализации JSON в тестах
Какой метод вызывается при наследовании, если метод определён в прототипе родителя и в экземпляре дочернего класса в JavaScript
Почему для обработки промисов используют конструкции вместо console.log напрямую
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью