Назад к вопросам
Junior
258
questionbank

Что такое шаблоны и строковые литералы в JavaScript?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Шаблонные литералы (или шаблонные строки) — это синтаксис для создания строк в JavaScript, который обеспечивает ряд преимуществ по сравнению с обычными строковыми литералами (с одинарными или двойными кавычками).

Ключевые особенности шаблонных литералов:

  • Многострочность без специальных символов: Можно создавать многострочные строки, просто перенося текст на новую строку внутри шаблонного литерала.

    // Обычная строка с переносом
    const classicString = 'Строка 1\nСтрока 2';
    
    // Шаблонная строка с переносом
    const templateString = `Строка 1
    Строка 2`;
    
  • Вложенные выражения: Позволяют включать выражения JavaScript непосредственно в строку с помощью синтаксиса ${выражение}. Результат выражения будет интерполирован (вставлен) в строку.

    const name = 'Мир';
    const greeting = `Привет, ${name}!`; // greeting будет "Привет, Мир!"
    const sum = `Сумма 2 + 3 равна ${2 + 3}.`; // sum будет "Сумма 2 + 3 равна 5."
    
  • Тегированные шаблоны: Расширенная возможность, позволяющая вызывать функцию (тег) перед обработкой шаблонного литерала. Функция получает массив строк и значения интерполированных выражений, что дает полный контроль над преобразованием строки.

    function highlight(strings, ...values) {
      let result = '';
      strings.forEach((str, i) => {
        result += str;
        if (values[i]) {
          result += `**${values[i]}**`; // Добавляем подсветку
        }
      });
      return result;
    }
    
    const item = 'JavaScript';
    const description = highlight`Изучаем ${item} сегодня!`;
    // description будет "Изучаем **JavaScript** сегодня!"
    

Обычные строковые литералы используют одинарные ('...') или двойные ("...") кавычки. Они просты и прямолинейны, но требуют использования маскирующих символов (\n для переноса строки, \' или \" для включения кавычек того же типа внутри строки) и конкатенации (+) для объединения переменных или выражений со строками.

Шаблонные литералы обозначаются обратными кавычками (`...`). Они значительно повышают читаемость кода при работе со строками, особенно при необходимости включения переменных или создании многострочного текста.