72

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

例子

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

输出

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

5 回答 5

178

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

您需要使用反引号(也称为“重音符号” -如果您使用 QWERTY 键盘,您会在 1 键旁边找到它) - 而不是单引号 - 来创建模板文字。

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

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

JavaScript 中反引号 (`) 的使用

于 2016-05-16T02:13:39.507 回答
4

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

  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}`)

console.log 的屏幕截图(服务器在端口:${PORT} 上运行)

于 2021-02-14T15:01:20.250 回答
3

它仅在您使用背包时才有效,在我的 Mac Pro 上,它是 Tab 键上方的 `。

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

于 2021-02-18T12:32:15.167 回答
-2

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

于 2019-07-04T14:22:06.017 回答
-4

1.) 添加 .jshitrc 与您的 app.js 和其他文件相同的文件夹级别

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

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

于 2018-08-04T15:51:38.857 回答