私は同僚に、JavaScriptで変数を比較するときに使用する必要があることを説明していました。これ===
により!==
、引数が強制されたり、すべてがばかげて混乱したりすることはありませんが、彼らは私が知らなかった2つの部分からなる質問をしました。私がここで専門家に尋ねると思った答えは、具体的には次のとおりです。>==
<==
どうですか-それらを比較する
>
と<
、引数も強制するかどうか-ある種の演算子がないのはなぜ>>
ですか<<
(おそらく、ビットシフト演算子になると思うので、他の構文が必要です全体のCスタイルですが、要点はわかります)?
だから私は最初の部分への答えを見つけるためにテストを書くことができます、これはここにあります:
// Demo the difference between == and ===
alert(5 == "5");
alert(5 === "5");
// Check out what happens with >
alert(5 > "4");
alert(5 > 4);
そしてそれは戻った:
true
false
true
true
>
したがって、は強制を実行しているように見え、同じ結果> "4"
を> 4
返します。では、2番目の部分はどうですか...
タイプを強制しない、ある種の演算子はあります>
か(または、テストを安全に実行するためにテストを変更するにはどうすればよいですか)?<