← Назад к вопросам

Что такое интерполяция строк в JavaScript?

1.8 Middle🔥 121 комментариев
#JavaScript Core

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое интерполяция строк в JavaScript?

Интерполяция строк (или шаблонные строки) — это механизм в JavaScript, позволяющий встраивать выражения и переменные прямо в строковые литералы без необходимости конкатенации. Этот функционал был добавлен в стандарт ES6 (ECMAScript 2015) и реализован с помощью шаблонных литералов (template literals), которые заключаются в обратные кавычки (`) вместо обычных одинарных или двойных.

Основные особенности интерполяции строк

  1. Синтаксис с обратными кавычками:
    Шаблонные строки создаются с помощью символа `, что отличает их от традиционных строк ' ' или " ".

  2. Подстановка выражений через ${}:
    Внутри шаблонной строки можно использовать местоholders ${expression}, куда подставляются результаты вычислений выражений, значения переменных или даже вызовы функций.

  3. Поддержка многострочности:
    Шаблонные строки могут содержать переносы строк без необходимости использовать специальные символы вроде \n.

Примеры интерполяции строк

Базовое использование

const name = "Анна";
const age = 30;

// Старый способ (конкатенация)
const oldWay = "Меня зовут " + name + ", мне " + age + " лет.";

// Новый способ (интерполяция)
const newWay = `Меня зовут ${name}, мне ${age} лет.`;

console.log(newWay); // "Меня зовут Анна, мне 30 лет."

Вычисления внутри ${}

const a = 5;
const b = 10;

console.log(`Сумма: ${a + b}, произведение: ${a * b}.`);
// "Сумма: 15, произведение: 50."

Многострочные строки

const multiLine = `Это первая строка.
Это вторая строка.
И это третья строка.`;

console.log(multiLine);
// Вывод:
// Это первая строка.
// Это вторая строка.
// И это третья строка.

Использование функций и выражений

function greet(user) {
    return `Привет, ${user.toUpperCase()}!`;
}

const user = "мир";
console.log(greet(user)); // "Привет, МИР!"
console.log(`Текущая дата: ${new Date().toLocaleDateString()}`);

Преимущества интерполяции строк перед конкатенацией

  • Удобочитаемость: Код становится чище и проще для восприятия, особенно при вставке множества переменных.
  • Упрощение синтаксиса: Не нужно постоянно переключаться между кавычками и операторами +.
  • Безопасность: Уменьшает риск ошибок, связанных с пропущенными пробелами или кавычками.
  • Поддержка сложных выражений: В ${} можно размещать любые допустимые выражения JavaScript.

Дополнительные возможности шаблонных литералов

Шаблонные строки также поддерживают тегированные шаблоны (tagged templates) — продвинутую функциональность, позволяющую обрабатывать шаблонную строку с помощью специальной функции.

function highlight(strings, ...values) {
    return strings.reduce((result, str, i) => {
        return `${result}${str}<strong>${values[i] || ''}</strong>`;
    }, '');
}

const item = "интерполяция";
const example = highlight`Рассмотрим ${item} строк в JavaScript.`;
console.log(example); // "Рассмотрим <strong>интерполяция</strong> строк в JavaScript."

Важные нюансы

  • Тип результата: Шаблонные строки всегда возвращают значение типа string.
  • Экранирование: Внутри ${} можно использовать любые допустимые выражения, но сами фигурные скобки за пределами ${} не требуют экранирования. Для вывода обратных кавычек внутри шаблонной строки используется обратный слеш: `\ ` ``.
  • Производительность: В большинстве случаев интерполяция строк сопоставима по производительности с конкатенацией, но для простых случаев микрооптимизации конкатенация может быть чуть быстрее (разница обычно незначительна).

Заключение

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

Что такое интерполяция строк в JavaScript? | PrepBro