Javascript 为什么在这行代码中使用分组运算符?

Javascript 为什么在这行代码中使用分组运算符?,javascript,express,Javascript,Express,我正在浏览express sessionnpm包源代码,并运行以下代码行: // get the session ID from the cookie var cookieId = (req.sessionID = getcookie(req, name, secrets)); 这不是和这条线一样吗 // get the session ID from the cookie var cookieId = req.sessionID = getcookie(req, name, secrets)

我正在浏览
express session
npm包源代码,并运行以下代码行:

// get the session ID from the cookie
var cookieId = (req.sessionID = getcookie(req, name, secrets));
这不是和这条线一样吗

// get the session ID from the cookie
var cookieId = req.sessionID = getcookie(req, name, secrets);

他们为什么要这样做?这是某种代码风格的决定还是我错过了什么?谢谢。

当你在
=
表达式周围不加括号时,一些过滤机会发出警告,因为人们通常在想要键入
=
时键入
=
。表达式周围的括号告诉linter这是一个有意的决定。否则,这两行在语义上是等价的。

似乎是风格上的选择,特别是因为它清楚地表明单个
=
是故意的,而不是
=
=

foo=bar=5;
faz=(baz=5);
log({foo,bar});

log({faz,baz})在这个代码库中似乎不是这样,因为它们也有类似的东西:
exports=module.exports=session
@Noob可能是代码的作者错过了那一行,或者作者没有使用过梁,只是认为在处理函数时需要
()
。。。实际上,唯一知道他们为什么在一个地方使用
()
,而在另一个地方不使用的人是代码的作者:p@JaromandaX谢谢,只是想确保我没有误解任何事情。这是正确的。赋值总是从右向左计算的,这里的括号只对linting产生影响,而不是执行。