我要一次尝试一步学习Express库和Node.js。首先,我要看的是Node 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()
函数呢?
答案 0 :(得分:12)
此:
`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.');