ES6 template strings as variable?
<p>Seems like template strings would be a really useful thing to pass into a module, let's say you want to let the calling code provide how they want to format some output.  </p>

<p>Thing is, at least in the node REPL, it appears that the template string is evaluated immediately, so you can't.  For example:</p>

<pre><code>var template = `Time: ${now} | Message: ${thing.msg}`;
var thing = {msg : 'Something wicked this way comes'};
var now = new Date();
</code></pre>

<p>Attempting to enter those three lines into the REPL will error out as <code>thing</code> has not yet been defined on the line of the <code>template</code>.  </p>

<p>Is there a way around this?  I'd really like to pass the template string itself around as a variable.  </p>

<p>Note that I saw the question about "dumbing down" template strings before asking this.  It's not the same question at all, as what I'm asking about is deferring execution, not converting to a normal string.  </p>