I was recently listening to a JavaScript tutorial on 2x speed when I caught something that caused me to slow down and rewind. The presenter was tal...
For further actions, you may consider blocking this person and/or reporting abuse
Ruby/Crystal has also string interpolation which is so handy!
One thing that is rarely mentioned is that template literals are pretty much consistently slower than using string literals in JS. So, if you're doing heavy string processing at volume, you're probably better off avoiding template strings.
Nice tool! But I played with it a few times, and the test results actually shows that the performance of the two solutions are almost the same, either for string concatenation or just plain text. In the above two cases, template literals even wins.
I do used to think template literals are slower (it just makes sense, right?), until I came across this blog a few days ago. There are really not so much performance loss, but as the author says, we "don't need to change to backticks later when you need to use a variable", and backticks are great with no need to escape
'
or"
and allows multi-line strings. So now I would opt for backticks more, unless there are some convincing reasons I shouldn't do so. 😄Interesting - it's almost always 20-30% slower for me, on both Chrome and Firefox
Results vary for every one every time 😂 Maybe it's subject to environment or context changes - I don't know. And that's why I don't consider performance as a serious main issue, and the difference of those nanoseconds can almost be ignored in actual projects. 😃
But most of the time this is just micro optimization.
I have to disagree. Use the most-restrictive string literal whereever possible. Don't need apostrophes? Use
'
. Don' t need interpolation (in JS)? Use"
.Though, to be fair, I've reneged a bit on that and am now enforcing "
"
unless template literals are needed" in our linter rules.PHP also has them :)
Not really. It just has "anything that begins with a $ sign" interpolation. Which is quite annoying IMO 😅
Fair, but PHP does still (unless I missed something) distinguish between interpolated (" and <<<END") strings and non-interpolated ones.
Indeed. Single quoted strings cannot be interpolated.
Neither can NOWDOC (<<<'END'), which is quite important at times. HEREDOC (<<<END) does get interpolated.
There's few reasons to choose interpolation in PHP, but the ones I've found over the years tend to actually be HEREDOC rather than regular string literals (code generation with HEREDOC is lovely!).
I admit that I rarely used them.