この記事は編集レビューを必要としています。ぜひご協力ください。
メッセージ
Warning: SyntaxError: test for equality (==) mistyped as assignment (=)?
エラータイプ
strict モード でのみ、SyntaxError
の警告が出ます。
何がうまくいかなかったのか?
通常、等価テスト(==
)が予想されるところで、代入 (=
)が行われています。デバッグを行いやすくするために、(厳密な警告が可能になっている)JavaScript は、このパターンについて警告を出します。
例
条件式内での代入
(if...else
のような)条件式内で、ダン純名代入を行わないことをお勧めします。なぜならば、コードを一目見たときに、代入は等価と混同しやすいからです。たとえば、次のコードは使用しないでください:
if (x = y) { // 正しいことを実行する。 }
条件式内で代入をする必要がある場合、一般t京奈方法は代入の周りに追加の括弧を置くことです。たとえば:
if ((x = y)) { // 正しいことを実行する。 }
または、, 比較演算(たとえば、==
や ===
)を使用したいのかもしれません:
if (x == y) { // 正しいことを実行する。 }