Рекомендуетсяjavascripttypescript

Имена в JavaScript и TypeScript

В принятом здесь соглашении JavaScript/TypeScript переменные, параметры, обычные функции и методы называются camelCase; классы, интерфейсы, type aliases и React-компоненты — PascalCase.

Опубликовано Проверено Изменено

Плохо

type invoice_summary = { id: string };
export function Format_invoice(INVOICE: invoice_summary): string {
  return `Счет ${INVOICE.id}`;
}

Хорошо

export type InvoiceSummary = { id: string };
export function formatInvoice(invoice: InvoiceSummary): string {
  return `Счет ${invoice.id}`;
}
const currentInvoice: InvoiceSummary = { id: 'inv-7' };
export const invoiceLabel = formatInvoice(currentInvoice);

Почему это важно

Различимые категории и содержательные имена облегчают чтение без искусственных префиксов и несовместимой смены внешнего контракта.

Когда применять

Для нового и изменяемого JS/TS-кода после принятия этого соглашения. Существующий согласованный стиль не требует массового переименования ради одной правки. Генерируемые имена и контракт SDK могут быть исключением; причина должна быть понятна.

Подробные условия

Имя должно описывать назначение; сокращения внутри составного имени оформляй последовательно, например loadHttpConfig. Это соглашение проекта, не ограничение синтаксиса языка.

Не меняй имена внешнего JSON/API, заданные контрактом, ради локального стиля. При необходимости преобразуй их один раз на границе. Публичный экспорт переименовывается с учетом потребителей. Имена файлов определяются фреймворком или принятой структурой; PascalCase компонента не означает обязательный PascalCase каждого файла.

Кто что делает

Человек

Выбирает соглашение проекта и принимает стоимость публичного переименования.

AI-агент

Проверяет назначение символа и контракты потребителей; не применяет механическую замену ко всем JSON-ключам и файлам.

Как проверить у себя

  • Новый обычный helper и type alias → проверить имена → formatInvoice и InvoiceSummary соответствуют разным категориям.
  • Внешнее поле invoice_id → обработать DTO → контракт сохранен; локальное invoiceId появляется только через явное преобразование.
  • Публичная функция переименована → проверить импорты/потребителей → совместимость сохранена или изменение мигрировано явно.
Первоисточники
История изменений на GitHub

Дата проверки отражает содержательную сверку. Синхронизация сайта не обновляет её автоматически.