Written by Kasumi

【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の比較演算子==と===の違いについて紹介しました。

以上で解説を終わります。

目次

関連記事

JavaScript

JavaScriptで指定した条件に当てはまる配列要素があるか存在をチェック。true/falseで判定する方法

2023.01.05
1057
JavaScript

【JavaScript】初回アクセスのみ任意の処理を実行する方法

2022.12.18
3284
JavaScript

JavaScriptで文字列の指定位置にHTMLタグを入れる方法

2022.12.15
1652
JavaScript

【Webpack-Dev-Server】HTMLファイルを保存してもブラウザが自動リロードされない原因・対処方法

2023.01.14
1580