像“some ${string}”这样的 ECMAScript 模板文字不起作用

IT技术 javascript template-literals
2021-01-27 15:32:06

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

例子

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

输出

${this.categoryName}
categoryElements: ${this.categoryElements}
5个回答

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

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

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

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

JavaScript 中反引号 (`) 的用法

哇,你不会相信我花了多长时间才找到这个。令人难以置信的是,这是问题所在,特别是感觉反勾号用于在 Markdown 等中创建代码段。很容易认为反勾号是一个代码标记,然后在心理上将其转换为单个勾号。谢谢,谢谢你的好意。
2021-04-07 15:32:06

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

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

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

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

// 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.) 添加 .jshitrc 与您的 app.js 和其他文件相同的文件夹级别

2.) 把它放在新创建的文件中 { "esversion": 6 }

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

这个答案与问题有什么关系?
2021-03-11 15:32:06