Code-wise, there is no specific disadvantage. JS engines are smart enough to not have performance differences between a string literal and a template literal without variables.

In fact, I might even argue that it is good to always use template literals:

  • You can already use single quotes or double quotes to make strings. Choosing which one is largely arbitrary, and you just stick with one. However, it is encouraged to use the other quote if your string contains your chosen string marker, i.e. if you chose ', you would still do "don't argue" instead of 'don\'t argue'. However, backticks are very rare in normal language and strings, so you would actually more rarely have to either use another string literal syntax or use escape codes, which is good.

    For example, you'd be forced to use escape sequences to have the string she said: "Don't do this!" with either double or single quotes, but you wouldn't have to when using backticks.

  • You don't have to convert if you want to use a variable in the string in the future.

However, those are very weak advantages. But still more than none, so I would mainly use template literals.

A real but in my opinion ignorable objection is the one of having to support environments where string literals are not supported. If you have those, you would know and wouldn't be asking this question.

Answer from Timo Türschmann on Stack Overflow
🌐
Mimo
mimo.org › glossary › javascript › template-literals
JavaScript Template Literals: Syntax, Usage, and Examples
JavaScript template literals use backticks for string interpolation, multi-line text, and expressions. Use ${} to insert variables and write cleaner code.
Discussions

javascript - Is there a downside to using ES6 template literals syntax without a templated expression? - Stack Overflow
Is there a reason (performance or other) not to use backtick template literal syntax for all strings in a javascript source file? If so, what? Should I prefer this: var str1 = 'this is a string';... More on stackoverflow.com
🌐 stackoverflow.com
TIL JavaScript provides string interpolation with string template literals
Next thing to learn is probably tagged templates I have never really used them outside of React styled-components so you probably won't see them much but it's good to know they exist More on reddit.com
🌐 r/ProgrammerTIL
3
10
October 2, 2023
Slightly better template literals
Cool! Small feedback: include an import statement in a usage example at least once. More on reddit.com
🌐 r/javascript
24
20
October 17, 2024
Template Literals vs String Concat.
Great question! For simple things like your example above, concatenation vs template literals provide very little benefit. Some would argue it's more readable, but that's about it. Template literals get more interesting when you're concatenating multiple variables though, or if you have escaped strings, for example: 'Hello ' + firstName + ', you\'re awesome'; vs Hello ${firstName}, you're awesome`; Minor benefit, but it can be useful. They shine even further though when you have to use multi-line strings (like HTML). A common way to do this before template literals was something like the following (or just appending \n to strings: [ 'Hello', firstName, 'welcome', 'to', 'your', 'account' ].join('\n') vs ` Hello ${firstName,} welcome to your account ` You can also evaluate expressions in template literals, for example `1 + 2 is ${1 + 2}` or `Hello ${firstName || 'unknown'}` etc. And lots lots more . Fundamentally though, it's going to just come down to your preferred coding style, though I imagine as you start concatenating lots of variables you'll quick find template literals great to use. As for performance, don't worry about it. Template Literals and String Concatenation constantly trade blows in browsers with what is faster one week vs the next week, but realistically they're both so fast and the variation between them is so minimal that it's almost certainly never going to be a bottleneck in your application. More on reddit.com
🌐 r/webdev
12
13
July 2, 2020
🌐
CodeBurst
codeburst.io › javascript-template-literals-tag-functions-for-beginners-758a041160e1
JavaScript: Template Literals & Tag Functions for Beginners | by Brandon Morelli | codeburst
July 5, 2017 - What exactly is a “Template ... In JavaScript terms, a template literal is a way to concatenate strings while allowing embedded expressions and improving readability....
🌐
DEV Community
dev.to › wisdomudo › javascript-template-literals-explained-a-beginners-guide-to-es6-strings-539k
JavaScript Template Literals Explained: A Beginner’s Guide to ES6+ Strings - DEV Community
September 30, 2025 - Before ES6, writing strings in JavaScript was tricky. You had to use single or double quotes, and joining variables with text required lots of + signs. This often made the code messy and hard to read. ES6 introduced Template Literals, a modern way to work with strings that makes life much easier for developers.
🌐
GeeksforGeeks
geeksforgeeks.org › javascript › javascript-template-literals
JavaScript Template Literals - GeeksforGeeks
Template literals support multi-line strings without special characters. This example displays a simple poem. ... const poem = `Roses are red, Violets are blue, JavaScript is awesome, And so are you!`; console.log(poem);
Published   January 15, 2026
🌐
Keith Cirkel
keithcirkel.co.uk › es6-template-literals
JavaScript Template Literals are awesome - Keith Cirkel
The most powerful feature of Template Literals, is that they have a new syntax inside the string which allows inline code within that. Simply wrap any code within ${ and } and the code inside will be executed, and added to the string in place. If you've used Ruby before - this concept will be familiar to you (Ruby has a practically identical feature using #{ and } instead).
Find elsewhere
🌐
MDN Web Docs
developer.mozilla.org › en-US › docs › Web › JavaScript › Reference › Template_literals
Template literals (Template strings) - JavaScript | MDN
Template literals are literals delimited with backtick (`) characters, allowing for multi-line strings, string interpolation with embedded expressions, and special constructs called tagged templates.
Top answer
1 of 5
23

Code-wise, there is no specific disadvantage. JS engines are smart enough to not have performance differences between a string literal and a template literal without variables.

In fact, I might even argue that it is good to always use template literals:

  • You can already use single quotes or double quotes to make strings. Choosing which one is largely arbitrary, and you just stick with one. However, it is encouraged to use the other quote if your string contains your chosen string marker, i.e. if you chose ', you would still do "don't argue" instead of 'don\'t argue'. However, backticks are very rare in normal language and strings, so you would actually more rarely have to either use another string literal syntax or use escape codes, which is good.

    For example, you'd be forced to use escape sequences to have the string she said: "Don't do this!" with either double or single quotes, but you wouldn't have to when using backticks.

  • You don't have to convert if you want to use a variable in the string in the future.

However, those are very weak advantages. But still more than none, so I would mainly use template literals.

A real but in my opinion ignorable objection is the one of having to support environments where string literals are not supported. If you have those, you would know and wouldn't be asking this question.

2 of 5
15

The most significant reason not to use them is that ES6 is not supported in all environments.

Of course that might not affect you at all, but still: YAGNI. Don't use template literals unless you need interpolation, multiline literals, or unescaped quotes and apostrophes. Much of the arguments from When to use double or single quotes in JavaScript? carry over as well. As always, keep your code base consistent and use only one string literal style where you don't need a special one.

🌐
TypeScript
typescriptlang.org › docs › handbook › 2 › template-literal-types.html
TypeScript: Documentation - Template Literal Types
They have the same syntax as template literal strings in JavaScript, but are used in type positions.
🌐
DEV Community
dev.to › laurieontech › string-literals-in-javascript-19ck
Template literals in JavaScript - DEV Community
August 7, 2020 - #javascript #webdev #productivity #beginners · Earlier this week I asked people which piece of syntax they always find themselves Googling. My answer to that question was string literals in React (officially called template literals but we'll get to that). Laurie · @laurieontech ·
🌐
Medium
medium.com › @joshjnunez09 › template-literals-and-why-you-should-use-them-c3d6b9b8d621
Template Literals (And Why You Should Use Them) | by Joshjnunez | Medium
July 8, 2020 - That is why today I am here to tell you about the latest improvement to Javascript. The popular coding language we all know and love. The improvement known as ES6. And specifically the way we concat strings. String concatenation is now a thing of the past. Template literals are the future.
🌐
Medium
medium.com › @julienetienne › javascript-the-need-for-template-literal-highlighting-ff5806adc814
JavaScript: The need for Template Literal Highlighting | by Julien Etienne | Medium
June 5, 2024 - A few prominent developers in the JS community (e.g. Justin Fagnani, Andrea Giammarchi and Jason Miller) have been at the forefront of making template-literals “a thing” for UI development on the web, which I believe is the right direction. At the time of this article VS Code syntax highlighting extensions (Let’s face it, VS Code is the dominant IDE) have existed for several years and give great support to libraries such as Lit, HyperHTML and HTM. But there’s one problem with these highlighters. These syntax highlighters only support template-literal strings that are accompanied by a tag function e.g.
🌐
CoreUI
coreui.io › blog › javascript-template-literals
JavaScript Template Literals: Complete Developer Guide · CoreUI
August 5, 2025 - Template literals are strings enclosed by backtick characters (`) instead of single or double quotes. They enable string interpolation, multi line strings, and advanced string manipulation through tag functions.
🌐
Jim Nielsen's Blog
blog.jim-nielsen.com › 2019 › jsx-like-syntax-for-tagged-template-literals
JSX-Like Syntax for Tagged Template Literals in JavaScript - Jim Nielsen’s Blog
July 16, 2019 - Read it? Ok so with tagged template literals you can control how the string inside the back-ticks gets made. In our case, that means we can support a more JSX-like syntax in our template literals. We can detect the value of the expression that was evaluated and, depending on its type, we can output the value we would expect.
🌐
Reddit
reddit.com › r/javascript › slightly better template literals
r/javascript on Reddit: Slightly better template literals
October 17, 2024 - To reveal template literal tags within a specific element we need a helper which goal is to understand if the content to render was already known but also, in case it’s a hole, to orchestrate a “smart dance” to render such content.
🌐
Medium
medium.com › @photokandy › es2015-template-literals-eddf051ed8ee
ES2015 Template Literals
June 23, 2017 - “Template literal” may sound strange, but they are really quite powerful and brings multiline strings, interpolation, & more to JavaScript!
🌐
Medium
medium.com › @fortune.nwuneke › introduction-to-javascript-template-literals-f17b0821615c
Introduction to JavaScript Template Literals | by Fortune Inc | Medium
April 3, 2024 - JavaScript template literals are a powerful feature introduced in ES6 (ECMAScript 2015) that allows for easier string interpolation and multi-line strings. Template literals are enclosed by backticks (` `) instead of single or double quotes, ...
🌐
Medium
medium.com › @python-javascript-php-html-css › understanding-template-literals-and-template-interpolation-in-javascript-7c0382c7d5c7
Understanding Template Literals and Template Interpolation in JavaScript
October 3, 2024 - In JavaScript, template literals allow us to embed expressions inside strings, making it easier to handle complex string manipulation. This is achieved using backticks (``), which make string interpolation possible.