分组多个逻辑语句

你可以在括号内对多个布尔逻辑语句进行分组,以创建更复杂的逻辑评估,尤其适用于 if 语句。

if ((age >= 18 && height >= 5.11) || (status === 'royalty' && hasInvitation)) {
  console.log('You can enter our club');
}

我们还可以将分组逻辑移动到变量,以使语句更短和描述性:

var isLegal = age >= 18;
var tall = height >= 5.11;
var suitable = isLegal && tall;
var isRoyalty = status === 'royalty';
var specialCase = isRoyalty && hasInvitation;
var canEnterOurBar = suitable || specialCase;

if (canEnterOurBar) console.log('You can enter our club');

请注意,在此特定示例(以及许多其他示例)中,使用括号对语句进行分组的工作方式与删除它们的方式相同,只需遵循线性逻辑评估,你就会发现自己具有相同的结果。我更喜欢使用括号,因为它让我更清楚地了解我的意图并可能防止出现逻辑错误。