'some ${string}' 等 ECMAScript 模板文字不起作用

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

我想尝试使用 template literals 但它不起作用:它显示的是文字变量名称,而不是值。我正在使用 Chrome v50.0.2(和 jQuery)。

例子

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

输出

${this.categoryName}
categoryElements: ${this.categoryElements}

JavaScript 模板文字 需要反引号,而不是直引号。

您需要使用反引号(也称为“重音符号”- 您可以在 1 键旁边找到 if you're using a QWERTY keyboard)而不是单引号来创建模板文字。

反引号在许多编程语言中都很常见,但对于 JavaScript 开发人员来说可能是新的。

例子:
categoryName="name";
categoryElements="element";
console.log(`categoryName: ${this.categoryName}\ncategoryElements: ${categoryElements} `) 
输出:
VM626:1 categoryName: name 
categoryElements: element
看:

Usage of the backtick character (`) in JavaScript

1.) 添加 .jshitrc 与您的 app.js 和其他文件

相同的文件夹级别

2.) 将其放入新创建的文件中 { "esversion": 6 }

3.) 永远不要使用单引号 ' 使用反引号 `

// 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

这里有三个引号,但只有一个入口在工作,我们可以将其用作模板文字:

  1. " "é 键盘上的键)不工作:
console.log("Server is running on port: ${PORT}")
  1. ' 'Shift + 2 键盘上的键)不起作用:
console.log('Server is running on port: ${PORT}')
  1. ` `Alt + Num96 键盘上的键)正在工作:
console.log(`Server is running on port: ${PORT}`)

它只有在你使用背包时才有效,在我的 Mac Pro 上就是 `,它位于 tab 键上方。

如果您使用单引号或双引号,它将不起作用!