tl; dr
foo = (a, b, c) => `The lazy ${a} ${b} over the ${c}`
Почему одних только строк шаблонов недостаточно
ES6 строк шаблонов предоставляют функцию, очень похожую на формат строк питонов.Тем не менее, вы должны знать переменные, прежде чем создавать строку:
var templateString = `The lazy ${bar3} ${bar2} over the ${bar1}`;
Почему формат?
Python str.format
позволяет вам указать строку перед вамидаже знать, какие значения вы хотите включить в него, например:
foo = 'The lazy {} {} over the {}'
bar1 = 'foobar'
bar2 = 'jumped'
bar3 = 'dog'
foo.format(bar3, bar2, bar1)
Решение
С помощью функции стрелка мы можем элегантно обернуть строку шаблона для дальнейшего использования:
foo = (a, b, c) => `The lazy ${a} ${b} over the ${c}`
bar1 = 'foobar';
bar2 = 'jumped';
bar3 = 'dog';
foo(bar3, bar2, bar1)
Конечно, это работает и с обычной функцией, но функция стрелки позволяет нам сделать это однострочным.Обе функции доступны в большинстве браузеров и во время выполнения: