a = 1;
b = "1";
if (a == b && a = 1) {
console.log("a==b");
}
上記Javascriptコードは、Google Chromeの26.0.1410.43でif
文でエラーになります:なぜJavascript演算子 "&&"が変なのですか?
Uncaught ReferenceError: Invalid left-hand side in assignment
私はこれが文の第二部であるため、変数a
だと思う&&
、a=1
を割り当てることはできません。しかし、以下のコードを試してみると、私は完全に混乱しています!
a = 1;
b = "1";
if (a = 1 && a == b) {
console.log("a==b");
}
なぜ1つのステートメントは正しいのですが、他のステートメントは間違っていますか?
とにかくここで何を達成しようとしていますか?コードは実際に何をすべきですか? –
演算子の優先順位に常に '('と ')'を使用してください。 –
ここで間違えました。このように 'if(a == 1 && a == b)'と書く必要があります。 –