SyntaxError: test for equality (==) mistyped as assignment (=)?

この記事は編集レビューを必要としています。ぜひご協力ください

メッセージ

Warning: SyntaxError: test for equality (==) mistyped as assignment (=)?

エラータイプ

strict モード でのみ、SyntaxError の警告が出ます。

何がうまくいかなかったのか?

通常、等価テスト(==)が予想されるところで、代入 (=)が行われています。デバッグを行いやすくするために、(厳密な警告が可能になっている)JavaScript は、このパターンについて警告を出します。

条件式内での代入

if...else のような)条件式内で、ダン純名代入を行わないことをお勧めします。なぜならば、コードを一目見たときに、代入は等価と混同しやすいからです。たとえば、次のコードは使用しないでください:

if (x = y) {
  // 正しいことを実行する。
}

条件式内で代入をする必要がある場合、一般t京奈方法は代入の周りに追加の括弧を置くことです。たとえば:

if ((x = y)) {
  // 正しいことを実行する。
}

または、, 比較演算(たとえば、=====)を使用したいのかもしれません:

if (x == y) {
  // 正しいことを実行する。
}

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama
 最終更新者: YuichiNukiyama,