「===」を使用すると型が比較されることを理解しているため、次のコードを実行すると、数値型と文字列型を比較しているため、「等しくない」という結果になります。
var a = 20;
var b = "20";
if (a === b) {
alert("They are equal");
} else {
alert("They are not equal");
}
しかし、「==」を使用して値のみを比較すると、「それらは等しい」というメッセージが表示される方法がわかりません。
var a = 20;
var b = "20";
if (a == b) {
alert("They are equal");
} else {
alert("They are not equal");
}
値はどのように等しいですか? 文字列 "20" は ASCII 文字の 50 と 48 (2 進数では 0110010 と 0110000) として格納され、20 は実際の 2 進数 0010100 として格納されていませんか?
編集:みんなありがとう!すべての回答は素晴らしく、これをよりよく理解するのに役立ちました。