布尔if语句在赋值表达式中具有无效的左侧

时间:2021-05-20 13:55:53

标签: javascript

我有一个包含 4 个元素的 if 语句。要触发警报,我需要前两个元素返回 true,其余两个元素中的一个或多个为 false,

但我收到一个解析错误,提示:赋值表达式中的左侧无效。

有什么想法我哪里出错了吗?

if (
    checkPieceInColumn('P', 'd', currentPosition) &&
    checkPieceInColumn('P', 'e', currentPosition) &&
    (checkPieceInColumn('p', 'd', currentPosition)=false) ||
      (checkPieceInColumn('p', 'e', currentPosition)=false)
  ) {
    alert('condition triggered');
  }

1 个答案:

答案 0 :(得分:0)

这是一个基本错误,因为您不是在比较事物而是在分配。您必须将 = 运算符更改为 == 运算符。

if (
checkPieceInColumn('P', 'd', currentPosition) &&
checkPieceInColumn('P', 'e', currentPosition) &&
(checkPieceInColumn('p', 'd', currentPosition)==false) ||
  (checkPieceInColumn('p', 'e', currentPosition)==false)
) {
  alert('condition triggered');
}

或者只使用 ! 运算符:

if (
checkPieceInColumn('P', 'd', currentPosition) &&
checkPieceInColumn('P', 'e', currentPosition) &&
!checkPieceInColumn('p', 'd', currentPosition) ||
  !checkPieceInColumn('p', 'e', currentPosition)
) {
  alert('condition triggered');
}