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