Что такое Title Case и как его реализовать на JavaScript?

«Что такое Title Case и как его реализовать на JavaScript?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Title Case (регистр заголовка) — это стиль форматирования текста, при котором первая буква каждого слова пишется в верхнем регистре, а остальные — в нижнем. Часто используется для заголовков, названий и заголовков элементов интерфейса.

Базовая реализация на JavaScript:

function toTitleCase(str) {
  if (!str) return '';
  return str
    .toLowerCase() // Приводим всю строку к нижнему регистру
    .split(' ')    // Разбиваем на слова по пробелам
    .map(word => word.charAt(0).toUpperCase() + word.slice(1)) // Капитализируем каждое слово
    .join(' ');    // Собираем обратно в строку
}

// Примеры использования:
console.log(toTitleCase('hello world'));          // "Hello World"
console.log(toTitleCase('tEsT sTrInG'));          // "Test String"
console.log(toTitleCase('javascript is awesome')); // "Javascript Is Awesome"

Улучшенная версия (обработка апострофов и специальных символов):

function toTitleCaseEnhanced(str) {
  return str.toLowerCase().replace(/bw/g, char => char.toUpperCase());
}

console.log(toTitleCaseEnhanced("o'reilly and mcdonald's")); // "O'Reilly And Mcdonald'S"

Важное замечание: Простая реализация не учитывает исключения (артикли, предлоги), которые в строгих стилях (например, APA, Chicago) могут оставаться в нижнем регистре. Для этого потребуется более сложная логика со списком слов-исключений.