节点文档中的这个“...${...}...”代码是什么意思?

What does this `…${…}…` code in the node docs mean?

我正在努力学习 Express 库,Node.js 一步一步来。首先我要看的是节点 reqiure(moduleName) 函数的细节。

为此我查看了 the documentation,并在示例文档中发现了一些奇怪的代码:

const circle = require('./circle.js');
console.log( `The area of a circle of radius 4 is ${circle.area(4)}`);

更具体地说 ${circle.area(4)} 位。

据我了解,JavaScript 中的 $ 与任何其他变量一样。当我们在客户端 Web 开发中使用它时,它被用作文档功能的委托(我认为)。使用节点时分配给什么?

最重要的是,这个语法是什么意思? ${circle.area(4)}

如果$只是对某个函数someFunction()的引用,那岂不是等同于这个someFunction(){cirle.area(4)}。我不明白这怎么可能是有效的语法。

此外,他们为什么不直接调用 circle.area() 函数呢?

这个:

`The area of a circle of radius 4 is ${circle.area(4)}`

ES2015 template strings的例子。

它将 circle.area(4) 表示的任何内容直接插入到字符串中。如果您对这个或其他 ES2015 功能感到好奇,我建议您查看 Babel 并在 REPL 中试用。

Here's a very simple example 让你开始。

你可以看到这段ES2015代码:

const foo = 'some text';
console.log(`${foo} is interpolated.`);

被转译为其 ES5 等价物 - 一个简单的 + 串联:

var foo = 'some text';
console.log(foo + ' is interpolated.');