ES6 / ECMA6 template literals - not working

2019-01-04 02:48发布

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} 

2条回答
爷、活的狠高调
2楼-- · 2019-01-04 03:26

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) - 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: What is the usage of the backtick symbol (`) in JavaScript?

查看更多
Emotional °昔
3楼-- · 2019-01-04 03:33

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 `

查看更多
登录 后发表回答