Template Literals
Template Literals (formerly called "template strings" in prior drafts of the ECMAScript 6 language specification) are string literals providing intuitive expression interpolation for single-line and multiline strings.
You use backticks to enclose a string literal and ${} to interpolate JavaScript variables or arbitrary expressions
// ES6
let point = { x: 10, y: 20 };
console.log(`Position is ${point.x}:${point.y}`);
// output: Position is 10:10
With ES5 you have to concatenate strings when dealing with multiple lines:
// ES5
var title = 'Title'
var component = {
template: '' +
'<h1>' + title + '<h1>\n' +
'<div class="grid">\n' +
' <div class="col-6"></div>\n' +
' <div class="col-6"></div>\n' +
'</div>'
}
Multi-line string creation with template literals becomes very clean and readable:
// ES6
let title = 'Title';
let component = {
template: `
<h1>${title}</h1>
<div class="grid">
<div class="col-6"></div>
<div class="col-6></div>
</div>
`
}