Hi Mark, thanks for pointing that out but if I understand the problem correctly then the snippet I've suggested concatenates strings and will never produce those problematic syntax errors. Can I say it's still safe? Or do you think it might have some problem in Safari?
Cheers On Sun, Mar 22, 2015 at 11:28 AM, Mark S. Miller <[email protected]> wrote: > > > On Sun, Mar 22, 2015 at 6:46 AM, Andrea Giammarchi < > [email protected]> wrote: > >> There's no such functionality indeed but you might want to have a look at >> this gist: https://gist.github.com/WebReflection/8f227532143e63649804 >> >> It gives you the ability to write `'test1 ${1 + 2} test2 ${3 + 4}' >> .template();` and read `test1 3 test2 7` or to pass an object similar to >> .Net String.format so that your Stack overflow code would be like the >> following: >> >> ```js >> >> let a = "b:${b}"; >> let b = 10; >> >> console.log(a.template({b:b})); >> >> // or >> >> console.log(a.template({b:27})); >> >> ``` >> >> You pass named properties and it works with nested properties too (i.e. >> ${down.the.road}) >> >> It does use Function which is safe, >> > > > Function is safe almost everywhere, but it is worth pointing out > > https://bugs.webkit.org/show_bug.cgi?id=106160 > https://bugs.webkit.org/show_bug.cgi?id=131137 > test_CANT_SAFELY_VERIFY_SYNTAX at > https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/ses/repairES5.js#3198 > repair_CANT_SAFELY_VERIFY_SYNTAX at > https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/ses/repairES5.js#4170 > > After the repair, the Function constructor is safe again on Safari, but at > considerable expense. > > > > >> compared to eval, and needed to eventually de-opt from 'use strict' but >> of course you could write your own parser avoiding Function completely. >> >> Finally, I agree it would be nice to be able to have a standard way to >> template strings in JS, the templating as it is plays very poorly with >> runtime generated strings, using eval for that looks the dirtiest thing on >> earth. >> >> Regards >> >> >> >> On Sun, Mar 22, 2015 at 10:05 AM, KOLANICH <[email protected]> wrote: >> >>> I needed a functionality but haven't found it. >>> See >>> https://stackoverflow.com/questions/29182244/convert-a-string-to-a-template-string >>> for more details. >>> I think that this should be included into standard; >>> >>> >>> Also we need a standard format string functionality like >>> https://msdn.microsoft.com/en-us/library/system.string.format.aspx and >>> <https://docs.python.org/2/library/string.html#string-formatting> >>> https://docs.python.org/2/library/string.html#string-formatting >>> >>> _______________________________________________ >>> 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 >> >> > > > -- > Cheers, > --MarkM >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

