title: Evaluating template literals dynamically
body: <p>Say I have template literal like so:</p>
  <pre><code>const templateLiteral = `string text ${expression} string text`
  </code></pre>
  <p>I want to dynamically evaluate the template literal into a finished string.</p>
  <pre><code>function toFoo(templateLiteral){
     //returns &quot;string text Foo string text&quot;
     return templateLiteral.evaluate('Foo');  
  }
  
  function toBar(templateLiteral){
    //returns &quot;string text Bar string text&quot;
     return templateLiteral.evaluate('Bar');  
  }
  
  function toBaz(templateLiteral){
     //returns &quot;string text Baz string text&quot;
     return templateLiteral.evaluate('Baz');  
  }
  </code></pre>
  <p>is there a way to do something like this with template literals, or am I just being dumb? (template.evaluate() is a made up function, but I am looking for that kind of functionality with JS!).</p>