这个问题在这里已经有了答案:
What are the rules for JavaScript's automatic semicolon insertion (ASI)?
(6 个回答)
2年前关闭。
为什么在node.js中,有些东西不需要/一般不用分号?例如,这段代码运行得很好,没有分号 =>
var server = app.listen(3000, function() {
var host = server.address().address
var port = server.address().port
console.log("App is listening on port 3000...")
})
最佳答案
因为 NodeJS 运行在 Chrome 的 V8 JavaScript 引擎上。它基本上是在服务器上运行的 JavaScript,在 JavaScript 中有一个叫做自动分号插入的东西。
解析 JavaScript 的 V8 引擎将遵循某些规则(根据 ECMAScript 规范)并在分号不存在时自动插入分号。
如果你想在谷歌上搜索更多关于自动分号插入的文章,例如规则是什么,什么时候失败等等。
关于Node.js 分号使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53753417/