我正在阅读Marionette's source code,我遇到了类似的事情:
if (_.isObject(message)) {
message = (
message.prev + ' is going to be removed in the future. ' +
'Please use ' + message.next + ' instead.' +
(message.url ? ' See: ' + message.url : '')
);
}
为什么message
包含在括号中?那是做什么的?
答案 0 :(得分:2)
在这个具体的例子中,除了(可以说)提高可读性之外,外括号不提供任何功能。
此代码功能相同:
if (_.isObject(message)) {
message =
message.prev + ' is going to be removed in the future. ' +
'Please use ' + message.next + ' instead.' +
(message.url ? ' See: ' + message.url : '');
}
添加了三元运算符周围的括号,因此三元运算符不会在message.url
之前计算所有内容。
答案 1 :(得分:1)
我不认为外面做任何事情。可能是作者出于可读性原因使用它。条件(?)运算符需要内部。
答案 2 :(得分:0)
主要是为了便于阅读 无论有没有,功能都不会改变。