Reputation: 4250
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).
console.log('categoryName: ${this.categoryName}\ncategoryElements: ${this.categoryElements} ');
${this.categoryName}
categoryElements: ${this.categoryElements}
Upvotes: 94
Views: 86702
Reputation: 71
There are three quotation marks, but just one entrance is working which we can use as TEMPLATE LITERALS:
" "
(é key on keyboard) is not working:console.log("Server is running on port: ${PORT}")
' '
(Shift + 2 key on keyboard) is not working:console.log('Server is running on port: ${PORT}')
` `
(Alt + Num96 key on keyboard) is working:console.log(`Server is running on port: ${PORT}`)
Upvotes: 3
Reputation: 3456
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
Upvotes: 211