PHP

【PHP / JavaScript】==演算子と===演算子の違い ~等価演算子と厳密等価演算子~【やんわりメモ】

職業訓練校のPHPの授業内で、==演算子と===演算子が出てきました。

同じ式で、似たような記号なのに違う結果。




1.等価演算子と厳密等価演算子って?


等価演算子(==)

2つのオペランド(演算の対象となる値のこと)が等しいことを調べ、論理値で結果を返します。

後述の厳密等価演算子(===)とは違い、オペランドの「型」が異なる場合には、型変換をしてから比較を行います。

言い換えると、
「==」は、文字列と数値を比べるとき、文字列を数値に型変換して判定 してくれます。




厳密等価演算子(===)

オペランド同士が、型を変換することなく、厳密に等しい場合に「真/true」を返します。

言い換えると、
型変換せず、白黒ハッキリ判断します。

値が同じでも、型が違えば「数字と文字だから違う!」という判定になります。




2.参考サイト


▽ 等価 (==) / MDN web docs


▽ 等価演算子 / MDN web docs


▽ 厳密等価 (===) / MDN web docs


▽ 厳密等価演算子(===)について改めて調べてみた


▽ JavaScript 忘れがちな === と == の違い