A JavaScript templating language is going to offer you a different set of expressions and options compared to the standard string literal. They are not really comparable. A templating language may use string literals/template strings within expressions - but string literals are just regular JavaScript.
var message = "Hello, " + name + ". How are you doing today? The room is " + (width * height) + " square feet.";
VS
var message = `Hello, ${name}. How are you doing today? The room is ${width * height} square feet.`;
So, math - and all that stuff a * b
etc. works the same way - but just offers you a more versatile syntax.
A handlebars helper (as an example piece of a 'templating language') is backed by a registered set of functions / either from the standard library or build on top of it.
// some data
{
people: [
{firstName: "Yehuda", lastName: "Katz"},
{firstName: "Carl", lastName: "Lerche"},
{firstName: "Alan", lastName: "Johnson"}
]
}
// registering a 'helper'
Handlebars.registerHelper('list', function(items, options) {
var out = "<ul>";
for(var i=0, l=items.length; i<l; i++) {
out = out + "<li>" + options.fn(items[i]) + "</li>";
}
return out + "</ul>";
});
// using the helper
{{#list people}}
{{firstName}} {{lastName}}
{{/list}}
or something like this from a library
{{moment-from-now (now interval=1000)}} // interval is in ms`
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals