【JavaScript】Uncaught SyntaxError: Invalid left-hand side in assignmentが表示されるコード例

徒然草2.0

以下の様なJavaScriptのコードを書きますと、

if(a == 1 && b = 1) {
  console.log("ok");
}

以下の様なエラーが表示されます。

Uncaught SyntaxError: Invalid left-hand side in assignment

日本語訳:代入の左側が無効です

エラーになる理由は正確には分かりませんが、b = 1が比較演算子ではなく代入演算子になっているからのようです。

こういう書き方は文法的にできないわけはない気はするのですが(代入しながらbを評価するのはありだと思う)、

とりあえずエラーになってしまうので比較演算子をしっかり書きましょう。

コメント

タイトルとURLをコピーしました