厳密等価演算子 【===】 strict equality operator / 同値演算子
概要
厳密等価演算子(===)とは、プログラミング言語で用いられる関係演算子(比較演算子)の一つで、二つの値を比較して、データ型が同じで値が等しければ「真」(true)を、いずれかが異なれば「偽」(false)を返すもの。C言語やその記法を引き継いだ多くのプログラミング言語では、「=」(等号一つ)が右辺の値を左辺の変数に代入する操作を表し、「==」(等号二つ)が両辺の値が等しければ真、等しくなければ偽を返す「等価演算子」(equality operator)を表す。
JavaScriptやPHPなどのスクリプト言語では、「==」による比較は両辺のデータ型が異なっていてもよく、一定の基準に従って実質的な値が同一であるかを調べている。例えば、「1=="1"」のようなデータ型の異なる比較は静的型付けの言語ではエラーとなるが、等価演算が柔軟な言語では実質的に等しいと判定して真(true)を返す。
一方、これらの言語では等号が三つの「===」を厳密等価演算子としており、同じデータ型かつ同じ値の場合のみ真を返し、データ型が異なるか、同じ型で値が異なる場合は偽を返す。両辺の値が異なる場合に真となる不等価演算子(!=)についても同じように、等号を一つ加えた「!==」が厳密不等価演算子となっている。
(2023.5.16更新)