厳密等価演算子|IT用語解説

IT用語解説

厳密等価演算子とは

厳密等価演算子(strict equality operator)とは、
値とデータ型の両方が完全に同じかどうかを比較する演算子です。

主に JavaScript などのプログラミング言語で使用され、次のように書きます。

===

この演算子は、比較する2つの値が

  • 値が同じ
  • データ型も同じ

という両方の条件を満たす場合のみ true を返します。

10 === 10

結果

true
10 === "10"

結果

false

2つ目の例では、
数値 10 と文字列 "10"型が異なるため falseになります。


等価演算子(==)との違い

厳密等価演算子を理解するためには、等価演算子(==)との違いを知ることが重要です。

演算子比較内容
==値だけを比較(型変換が行われる)
===値と型の両方を比較

例で比較

10 == "10"

結果

true

これは 文字列 “10” が数値 10 に自動変換されるためです。

一方、

10 === "10"

結果

false

こちらは型も比較するため一致しません。


厳密等価演算子が重要な理由

プログラムでは、思わぬ型変換によってバグが発生することがあります。
そのため、多くの開発現場では === を使用することが推奨されています。

主な理由は次の通りです。

1 意図しない型変換を防げる

等価演算子(==)では、自動的に型変換が行われます。

0 == false

結果

true

しかし、厳密等価演算子では

0 === false

結果

false

このように予期しない判定ミスを防ぐことができます。


2 バグの発生を減らせる

型変換による比較は、コードの挙動を分かりにくくします。
厳密等価演算子を使えば、条件判定が明確になるためバグを減らすことができます。


3 JavaScriptでは推奨されている

多くのJavaScriptのコーディング規約では

「基本的に === を使う」

ことが推奨されています。


厳密等価演算子の使用例

実際のコード例を見てみましょう。

数値の比較

let a = 5;
let b = 5;console.log(a === b);

結果

true

型が異なる場合

let a = 5;
let b = "5";console.log(a === b);

結果

false

条件分岐での使用

let score = 80;if (score === 80) {
console.log("80点です");
}

結果

80点です

厳密等価演算子と厳密不等価演算子

厳密等価演算子と合わせて覚えておきたいのが、厳密不等価演算子です。

演算子意味
===値と型が等しい
!==値または型が異なる

10 !== "10"

結果

true

厳密等価演算子を使う際の注意点

厳密等価演算子は便利ですが、いくつか注意点もあります。

オブジェクトは参照で比較される

オブジェクトの場合、内容ではなく参照(メモリアドレス)で比較されます。

{} === {}

結果

false

これは、別々のオブジェクトとして扱われるためです。


まとめ

厳密等価演算子とは、値とデータ型の両方が同じかどうかを判定する比較演算子(===)です。

ポイントをまとめると次の通りです。

  • 値と型の両方を比較する
  • JavaScriptでよく使用される
  • 型変換が起きないため安全
  • 多くの開発現場で推奨されている

初心者のうちは 「基本は === を使う」と覚えておくと、プログラムのバグを防ぎやすくなります。

タイトルとURLをコピーしました