a = 1;
b = "1";
if (a == b && a = 1) {
console.log("a==b");
}
上記の Javascript コードはif
、Google Chrome 26.0.1410.43のステートメントでエラーになります。
Uncaught ReferenceError: 代入の左辺が無効です
a
これは、ステートメントの 2 番目の部分の&&
変数a=1
が代入できないためだと思います。しかし、以下のコードを試すと、完全に混乱します!
a = 1;
b = "1";
if (a = 1 && a == b) {
console.log("a==b");
}
1 つのステートメントが正しいのに、もう 1 つのステートメントが間違っているのはなぜですか?