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