Tagged Template Literals
Posted on September 10, 2020 in JavaScript by Matt Jennings
Definition
The ability to run a template string through a function, and have control how the actual template string is made, along with the interpolated strings.
Code Example
var bear = 'Grizzly';
var result = html`<div>${bear}</div>`;
function html(strings, expr) {
var divTagWrapper = document.createElement('div');
var divTag = strings.join('');
var divTagWithClassAndExpr = divTag.replace(/div>/, `div class="bear">${expr}`);
return divTagWithClassAndExpr;
}
document.body.insertAdjacentHTML('afterbegin', result);
// <div class="bear">Grizzly</div> element and text
// is inserted right after the opening <body> HTML tag
Another Code Example to Uppercase all Variables inside an Interpolated String
function upper(strings, ...values) {
var ret = '';
for(let i = 0; i < strings.length; i++) {
if(i > 0) {
ret += String(values[i-1].toUpperCase());
}
ret += strings[i];
}
return ret;
}
var name = "kyle";
var twitter = "getify";
var topic = "JS Recent Parts";
console.log(upper`Hello ${name} (@${twitter}), welcome to ${topic}!` === 'Hello KYLE (@GETIFY), welcome to JS RECENT PARTS!');
// true