On Jun 15, 2011, at 4:43 PM, Mark S. Miller wrote:

> 
> 
> On Wed, Jun 15, 2011 at 4:42 PM, Axel Rauschmayer <a...@rauschma.de> wrote:
> Ah, very clever. It’d be nice to have an example of using this to compile 
> templates (like jQuery templates). Maybe not even the implementation, just a 
> quasi literal and why it works.
> 
> var myTmpl = tmpl`Dear ${{first}} ${{last}}`; // (*)
> alert(myTempl.render({ first: "Jane", last: "Doe" }));
> 
> The handler (at (*)) is called like this:
> tmpl(callSiteId73654, { first: undefined }, { last: undefined });
> 
> BTW: won’t it be a problem (for this use case) if the variables first and 
> last don’t exist?
> 
> It would indeed be a problem. How much does this matter?

In ES.next unresolved resolved references to lexical bindings are early errors. 
 {first}  is equivalent to {first: first} so the RHS reference to first is a 
lexically bound unresolved reference that would produce an early error before 
the code ever ran.

Allen




_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to