==を「等価演算子」
===を「厳密等価演算子」という。
「厳密等価演算子」は型が同じかどうかチェックするが、「等価演算子」はチェックしない。
「等価演算子」を使うと型が異なる場合下記のように変換して比較する。
・数値と文字列を比較するとき、文字列は数値に変換される。
・boolean型ならtrue⇒1、false⇒0に変換される。
var a=1;
var b="1";
var c=true;
// 型が違うが値が同じため真となる
if (a == b) {
document.write('a==b'+'<br/>');
}
// 型が違うため偽となる
if (a === b) {
document.write('a===b'+'<br/>');
}
// 型が違うが値が同じため真となる
if (a == c) {
document.write('a==c'+'<br/>');
}
// 型が違うため偽となる
if (a === c) {
document.write('a===c'+'<br/>');
}
実行結果
a==b
a==c