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