您可以单独使用条件三元运算符吗?(JavaScript)

Can you use a conditional ternary operator by itself? (javascript)

本文关键字:三元 运算符 JavaScript 单独使 条件      更新时间:2023-09-26

我尝试使用这个结构:

function messageTest(data2, data1, value){
    (!value) ? if (data2 == 0x7F) return true :
                if (data1 == value && data2 == 0x7F) return false;
}

但是我得到一个语法错误。 你能像这样单独使用三元运算符吗? 我也使用 WSH 进行此执行。

你不能在

三元中有ifreturn语句,你必须做类似的事情

return value ? !(data1 == value && data2 == 0x7F) : data2 == 0x7F;

请注意,我翻转了它,因为在这种情况下做!value没有意义,你也可以这样做

return value ? (data1 != value || data2 != 0x7F) : data2 == 0x7F;

您可以单独使用条件三元运算符吗

是的,任何表达式都可以单独使用

但是我得到一个语法错误

这是因为returnif不能在表达式中间

您可以简化它,其中 (data2=== 0x7F) 被计算为布尔值,而不是使用 IF

function messageTest(data2, data1, value) {
  return (!value ? (data2 === 0x7F) : !((data1 === value) && (data2 === 0x7F)));
}