【JavaScript】比較演算子==と===の違いについて

JavaScriptで比較演算子の==と===の違いについて知りたい。
本記事ではこのような悩みを解決。
実装例を元に解説します。
比較演算子==と===の違い
比較演算子==と===は等価性(データが等しいか否か)を比較するのに使われます。
==は抽象的な等価性。
===は厳格な等価性を示す時に使います。
抽象的 or 厳格なのかの判断には、比較対象のデータ型(文字列 or 数値)が関係します。
以下、実装例を元に解説します。
データ型の判定について詳しくはこちら
https://kasumiblog.org/javascript-data-typeof/
抽象的な等価性(==)の場合
const a = 1;
const b = '1';
if(a == b) {
console.log("一致");
}else{
console.log("不一致");
}
//コンソール結果
//一致
抽象的な等価性(==)を使用した場合のコード例です。
if文を使い、変数 a、変数 bの値を==で等価性を比較。
コンソールに真偽値(一致・不一致)を出力してます。
a・b共に値が1で、一見等しいですがデータ型が違います。
aは数値、bはシングルクォーテーションで囲われており文字列です。
それぞれデータ型が違いますが、コンソール結果として一致と表示されます。
抽象的な等価性(==)の場合はデータ型が違っても値が等しい場合trueを返します。
厳格な等価性(===)の場合
const a = 1;
const b = '1';
if(a === b) {
console.log("一致");
}else{
console.log("不一致");
}
//コンソール結果
//不一致
厳格な等価性(===)を使用した場合のコード例です。
前章とは違い、コンソール結果として不一致と表示されます。
厳格な等価性(===)の場合はデータ型が違うと、値が等しくてもfalseを返します。
以上、抽象的な等価性(==)と厳格な等価性(===)の違いになります。
まとめ
JavaScriptの比較演算子==と===の違いについて紹介しました。
以上で解説を終わります。