一尘不染

节点文档中的此“…$ {…}…”代码是什么意思?

node.js

我试图一次学习Express库和Node.js。首先,我要看的是Node reqiure(moduleName)函数的细节。

我查看有关此文档的文档,并在示例文档中找到了一些奇怪的代码:

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()函数呢?


阅读 414

收藏
2020-07-07

共1个答案

一尘不染

这个:

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

ES2015模板字符串的示例。

它将任何circle.area(4)表示直接插值到字符串中。如果您对此功能或其他ES2015功能感到好奇,建议您查看Babel并尝试使用REPL。

这是一个非常简单的示例,可以帮助您入门。

您可以看到以下ES2015代码:

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

被转换为其等效的ES5-一个简单的+串联:

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