Yes I'm aware @claude that its kind of like the `with` statement @Logan instead it would allow a way for a developer to parse the template on call.
What's wrong with that? And also will allow me to not use **Handlebars** or **Mustache** I don't see anything wrong with having a method to do this and this discussion led me to know that this could allow a way to interact with the parser on call, which IMO could be useful. On Wed, Aug 12, 2015 at 11:27 AM, Logan Smyth <[email protected]> wrote: > Could be possible to pass a string with "" instead of \`\` > > > At that point, you are implementing a templating language that happens to > match up syntactically with template literals. You'd also then be moving > parsing of the template to runtime instead of compile time, which will slow > things down. It would also only be possible to implement using `eval`. > > You can certainly do that, but it doesn't seem like something that should > be included in the language. It's no different from using Handlebars or > Mustache at that point. The primary benefit of template literals is that > they have access to variables in-scope, which seems to be what you are > trying to avoid. > > On Wed, Aug 12, 2015 at 8:19 AM, Edwin Reynoso <[email protected]> wrote: > >> @logan that's an interesting thought, which is why I posted this for >> discussion, Thinking of that, I'm kind of doubting most will like the >> function to only be able to take the literal instead as a variable because >> that's just messing with the way Javascript itself. >> >> Could be possible to pass a string with "" instead of \`\` >> >> ```JS >> String.substitute({year: 2015}, "This year is ${year}"); >> ``` >> >> Which is giving javascript a way to allow writing a Template Literal >> without evaluating by using "" instead of \`\` >> >> @Tab atkin >> >> Your still making a function yourself. You may ask what's wrong with that? >> >> Well then I'd say what's the point of `ES6` having `"Hi".includes("H")` >> when we could of just did: >> >> ```JS >> function includes(str, included) { >> return str.indexOf(included) > -1; >> } >> ``` >> >> On Wed, Aug 12, 2015 at 11:08 AM, Tab Atkins Jr. <[email protected]> >> wrote: >> >>> On Wed, Aug 12, 2015 at 7:31 AM, Edwin Reynoso <[email protected]> wrote: >>> > 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`); >>> > ``` >>> >>> let yearSentence = ({year:2015}=>`This year is ${year}`)(); >>> >>> should work, or >>> >>> let yearSentence = (year=>`This year is ${year}`)(2015); >>> >>> You don't *have* to save the templates in variables. You can just call >>> them immediately. >>> >>> ~TJ >>> >> >> >> _______________________________________________ >> es-discuss mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/es-discuss >> >> >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

