我在尝试构建此代码时遇到错误意外的恒定条件no-constant-condition。 (错误显示在>>>上)
代码从用户输入开始运行,commandVariable0和commandVariable1从输入中获取数据,在这种情况下,上的 b2b或上的 b2b,如果用户应将 b2b测试放置,则应给出错误警告:commandVariable1不是有效的设置选项。
任何人都可以帮助我了解为什么这不起作用,如果用户将 b2b测试放入,它将接受它为有效。
任何帮助都将被申请。
请忽略草率的代码。const b2b = function(data)
{
const commandVariable0 = data.cmd.params.split(" ")[0].toLowerCase();
const commandVariable1 = data.cmd.params.split(" ")[1].toLowerCase();
>>> if (commandVariable1 === "on"||"off")
{
b2bvar = commandVariable1;
var output =
"**```Bot 2 Bot Command Here```**\n" +
`Embeded Messages : ${b2bvar}\n\n` +
`Command Variable 0 : ${commandVariable0}\n` +
`Command Variable 1 : ${commandVariable1}\n`;
data.color = "info";
data.text = output;
return botSend(data);
}
data.color = "error";
data.text =
":warning: **`" + commandVariable1 +
"`** is not a valid settings option.";
return botSend(data);
};
最佳答案
换行if (commandVariable1 === "on"||"off")
至if (commandVariable1 === "on" || commandVariable1 === "off")
有什么问题?
在上面的代码行中,JavaScript将首先检查commandVariable1
是否等于"on"
,如果不一致,则它将"off"
转换为 bool(boolean) 值,并检查是否为真。
由于字符串"off"
是一个常量,并且始终会在JavaScript中生成为true
,因此您的短毛猫会抱怨不必要的OR条件。