Зарегистрируйтесь, чтобы продолжить обучение

Интерполяция Основы JavaScript

Представим, что перед нами стоит задача создать заголовок письма из двух констант и знаков препинания. Скорее всего, мы бы решили задачу так:

const firstName = 'Joffrey'
const greeting = 'Hello'

console.log(greeting + ', ' + firstName + '!')
// => Hello, Joffrey!

Это довольно простой случай, но даже здесь нужно приложить усилия, чтобы увидеть, какая в итоге получится строка. Нужно следить за несколькими кавычками и пробелами, и без вглядывания не понять, где что начинается и кончается.

Есть другой, более удобный и изящный способ решения той же задачи — интерполяция. Вот, как это выглядит:

const firstName = 'Joffrey'
const greeting = 'Hello'

// Обратите внимание на ограничители строки, это бектики
// Интерполяция не работает с одинарными и двойными кавычками
console.log(`${greeting}, ${firstName}!`)
// => Hello, Joffrey!

Мы просто создали одну строку и «вставили» в нее в нужные места константы с помощью знака доллара и фигурных скобок ${ }. Получился как будто бланк, куда внесены нужные значения. И нам не нужно больше заботиться об отдельных строках для знаков препинания и пробелов — все эти символы просто записаны в этой строке-шаблоне. В одной строке можно делать сколько угодно подобных блоков.

Интерполяция работает только со строками в бектиках. Это символ `.

С помощью интерполяции можно выводить несколько строк без указания специальных символов для перевода строк:

console.log(`- Are you hungry?
- Aaaarrrgh!`)

Результат:

- Are you hungry?
- Aaaarrrgh!

Почти во всех языках интерполяция предпочтительнее конкатенации для объединения строк. Строка при этом получается склеенная, и внутри нее хорошо просматриваются пробелы и другие символы. Во-первых, интерполяция позволяет не путать строки с числами (из-за знака +), а во-вторых, так гораздо проще (после некоторой практики) понимать строку целиком.


Дополнительные материалы

  1. Шаблонные строки

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff