javascript – Node.js中是否需要逗号?

在node.js的变量声明中省略逗号是否会产生风险?例如,声明一些像下面这样的全局变量就可以了:

express = require('express')
jade = require('jade')

如果不写它们是安全的,我不想写逗号(我不关心“代码的美/清晰度”).

重要:我的意思是逗号,而不是分号(有关分号的3个答案).它完全没问题,甚至建议从node.js中删除分号. npm的创建者也是这样做的:http://blog.izs.me/post/3393190720/how-this-works

如有疑问,请查看最新的javascript规范:http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

请注意,您也不需要编写

var

对于全局变量.

但是这个问题是关于“逗号”的,所以请不要在编辑我的问题(之前完成)时用分号替换逗号.

最佳答案
在JavaScript中,如果你不写分号;它们将被无形插入.你可能并不总是喜欢他们去的地方.

从技术上讲,您不需要以分号结束每个语句.但是,大多数人认为这是一个好主意.

欲了解更多信息,请仔细阅读this google search的结果.我们长期以来一直在争论这个话题.

这是一个为什么这比第一眼看上去更复杂的例子.虽然技术上并不要求用分号结束每个语句,但在某些情况下你必须或事情中断.在大多数代码库中,您无法完全省略它们.

foo.def = bar
(function() {
  // some self executing closure
})()

看起来很简单吧?那么翻译就会看到并做到这一点:

foo.def = bar(function() {
  // some self executing closure
})()

这可能不是你所期待的.修复它的方法是使用分号.

foo.def = bar;
(function() {
  // some self executing closure
})()

有很多这样的案例.你可以全部学习它们,也只能在这些情况下使用它们,当你不可避免地忘记你试图调试你的代码时,你正在做一些如此奇怪和奇怪的事情,你会把你的头发拉出来……“你是什么意思wtfvar是不是一个功能?!?它不应该是一个功能!“

或者你可以使用具有一致性的分号.

转载注明原文:javascript – Node.js中是否需要逗号? - 代码日志