Yes of course, still requires 1.Destructuring, and making a function for each type of string to return. Defeats the purpose.
I'd have to make different functions for each template: ```JS const yearTemplate = ({ year }) => `This year is ${year}`; const ageTemplate = ({ age}) => `I'm ${age} yrs old`; ``` Compare to: ```JS let yearSentence = String.substitute({ year: 2015}, `This year is ${year}`); let ageSentence = String.substitute({ age:100 }, `I'm ${age} yrs old`); ``` On Wed, Aug 12, 2015 at 10:19 AM, Claude Pache <claude.pa...@gmail.com> wrote: > > > Le 12 août 2015 à 15:41, Edwin Reynoso <eor...@gmail.com> a écrit : > > > > Could we make the following possible, I can't seem to think of a way to > do it, since template literals are evaluated with the current scope, also > tried with `eval` but shouldn't even use that at all: > > > > ```JS > > String.substitute( { year: 2015 }, `This year is ${year}` ); // Returns > "This year is 2015" > > ``` > > > > Yes I'm aware I could do the following: > > > > ```JS > > var obj = { year:2015 } > > > > `This year is ${obj.year}` > > ``` > > > > The point is to get rid of the part where I reference `obj` all the time. > > > > I could just use destructuring: > > > > ```JS > > var { year } = { year: 2015 } > > > > `This year is ${year}` > > ``` > > > > So yes destructuring takes care of most of this just fine, but the point > is to have a template literal evaluate as a pass reference and not right > away. > > > > You can't make your own function and pass in a template literal that's > not evaluated when passed as a reference, I'm not sure if anyone will > actually want this but me. Please let me know. Thanks > > There is a general trick for deferring evaluation (of a template literal > or of anything else): enclosing it in a function. > > ```js > const myTemplate = ({ year }) => `This year is ${year}` > > myTemplate({ year: 2015 }) > ``` > > —Claude > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss