Menu
Coddy logo textTech

Статические вспомогательные методы

Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 33 из 56.

Статические методы — это вспомогательные функции, которые принадлежат самому классу, а не его экземплярам. Они полезны для функций, которым не требуется доступ к данным конкретного экземпляра.

Давайте создадим класс со статическим вспомогательным методом:

class MathHelper {
  // Определяем статический метод
  static square(number) {
    return number * number;
  }
}

Чтобы вызвать статический метод, используйте имя класса напрямую:

// Вызов статического метода без создания экземпляра
const result = MathHelper.square(5);
console.log(result); // 25

Обратите внимание, что нам не потребовалось создавать новый экземпляр с помощью new MathHelper(). Статические методы идеально подходят для вспомогательных функций, которые выполняют операции, не требуя данных экземпляра.

challenge icon

Задание

Создайте класс с именем StringUtils со статическим методом capitalize, который принимает строку в качестве аргумента и возвращает ту же строку с заглавной первой буквой. Например, если входные данные — "javascript", метод должен вернуть "Javascript". Экспортируйте этот класс.

  1. Проверьте, пуста ли строка: if (!str || str.length === 0) (Без этой проверки пустая строка может вызвать проблемы).
    1. !str проверяет на null/undefined (предотвращает ошибки)
    2. str.length === 0 проверяет на пустую строку (возвращает "" вместо сбоя)
  2. Получите первый символ: str.charAt(0)
  3. Сделайте его заглавным: .toUpperCase()
  4. Получите остальную часть строки: str.slice(1) (с позиции 1 до конца)
  5. Объедините: заглавный первый символ + остальная часть строки

Шпаргалка

Статические методы — это вспомогательные функции, которые принадлежат самому классу, а не его экземплярам. Им не требуется доступ к данным конкретного экземпляра.

Определите статический метод, используя ключевое слово static:

class MathHelper {
  static square(number) {
    return number * number;
  }
}

Вызывайте статические методы непосредственно у класса, не создавая экземпляр:

const result = MathHelper.square(5);
console.log(result); // 25

Полезные строковые методы для статических утилит:

  • str.charAt(0) — получает первый символ
  • str.toUpperCase() — преобразует в верхний регистр
  • str.slice(1) — получает подстроку с позиции 1 до конца
  • !str || str.length === 0 — проверяет на null/undefined или пустую строку

Попробуйте сами

import { StringUtils } from './stringUtils.js';

// Не изменяйте код ниже
console.log(StringUtils.capitalize("programming"));
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование