ECMAScript template literals like 'some ${string}' are not working

I wanted to try using template literals and it’s not working: it’s displaying the literal variable names, instead of the values. I am using Chrome v50.0.2 (and jQuery).

Example

console.log('categoryName: ${this.categoryName}\ncategoryElements: ${this.categoryElements} ');

Output

${this.categoryName}
categoryElements: ${this.categoryElements}
62724 次浏览

JavaScript template literals require backticks, not straight quotation marks.

You need to use backticks (otherwise known as "grave accents" - which you'll find next to the 1 key if you're using a QWERTY keyboard) - rather than single quotes - to create a template literal.

Backticks are common in many programming languages but may be new to JavaScript developers.

Example:
categoryName="name";
categoryElements="element";
console.log(`categoryName: ${this.categoryName}\ncategoryElements: ${categoryElements} `)
Output:
VM626:1 categoryName: name
categoryElements: element
See:

Usage of the backtick character (`) in JavaScript

1.) add .jshitrc same folder level with your app.js and other files

2.) put this inside the newly created file { "esversion": 6 }

3.) never use single quote ' use backticks `

// Example
var person = {
name: "Meera",
hello: function(things) {
console.log(`${this.name} Says hello ${things}`);
}
}


// Calling function hello
person.hello("World");


//Meera Says hello World

There are three quotation marks, but just one entrance is working which we can use as TEMPLATE LITERALS:

  1. " " (é key on keyboard) is not working:
console.log("Server is running on port: ${PORT}")
  1. ' ' (Shift + 2 key on keyboard) is not working:
console.log('Server is running on port: ${PORT}')
  1. ` ` (Alt + Num96 key on keyboard) is working:
console.log(`Server is running on port: ${PORT}`)

Screenshot of console.log(Server is running on port: ${PORT})

it only works if you use backpacks, on my Mac Pro that is ` which is above the tab key.

If you use single or double quotes it won't work!

I was not able to get the the desired output. I was using single quotes ' which was incorrect and it was printing the same message.

Backticks is below ~ in your keyboard. Use shift+~ to get backticks

Hope it helps.

Template Literal Dont use Double/Single Quote Instead Use Backtick

const test = 'Test'
console.log(`test: ${test}`)

Go to Mdn doc for more https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

You need to use backtick ( ` ) which is above tab key and on the same key as ( ~ )

Hope It helps😊