20

Recently ran into some JS code that uses ` and '. I can't figure out if there is a different use for each apostrophe. Is there any?

roscioli
  • 1,040
  • 2
  • 12
  • 33

1 Answers1

40

' or " denotes a string

` denotes a template string. Template strings have some abilities that normal strings do not. Most importantly, you get interpolation:

var value = 123;
console.log('test ${value}') //=> test ${value}
console.log(`test ${value}`) //=> test 123

And multiline strings:

console.log('test
test')
// Syntax error

console.log(`test
test`)
// test
// test

They have some other tricks too, more on template strings here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings

Note they are not supported in all javascript engines at the moment. Which is why template strings are often used with a transpiler like Babel. which converts the code to something that will work in any JS interpreter.

Alex Wayne
  • 145,435
  • 42
  • 271
  • 302