「等価演算子」と「厳密等価演算子」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| プログラミング | プログラムを作ること |
| プログラミング言語 | プログラムの元ネタ(ソースコード)を書くときに使う言葉 |
| 変数 | プログラミング言語における「値を入れておく箱」 |
| 変数の型 | 変数の種類 |
| 演算子 | 「どんな演算をしてくださいね」を表現する記号 |
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| 等価演算子(==) | プログラミングで出てくる演算子のひとつで「右側の値と左側の値は同じですか~?」な比較を意味する演算子 |
| 厳密等価演算子(===) | プログラミングで出てくる演算子のひとつで「右側の値と左側の値は、変数の型(変数の種類)まで含めて同じですか~?」な比較を意味する演算子 |
似ているところ
どちらも、値の比較を意味する演算子です。

違うところ
変数の型を考慮するか否かの違いです。
例えば
1.変数aの値は数字の10です
2.変数bの値は文字の"10"です
3.変数aの値と変数bの値は同じですか?
と聞かれたとします。
等価演算子(==)で比較した場合は「はい!同じです!」となります。
数字であろうと文字であろうと同じ「10」である、との判断です。

厳密等価演算子(===)で比較した場合は「いいえ、違います」となります。
値を比較する以前に「数字と文字は違う」と判断します。

個人的な使い分け
厳密等価演算子(===)があるプログラミング言語であれば、基本的には厳密等価演算子(===)を使うようにしています。
プログラミング言語にもよりますが、等価演算子(==)で比較した場合は、数字の0、空文字、NULLなどが同じ値だと判断されてしまうからです。
備考
等価演算子は「==」を使うのが一般的です。
厳密等価演算子は「===」を使うのが一般的です。
せっかくなので、実際のプログラミングに近い例も載せておきますね。
例示に使うプログラミング言語はJavaScriptです。
例えば、以下のような処理が あったとしましょう。
var a = 10;
var b = "10";
if(a == b){
alert("aとbは同じ");
}
if(a === b){
alert("aとbは型まで含めて同じ");
}
この処理を実行すると「aとbは同じ」のみ表示されます。
「10」(数字)と「"10"」(文字)は型が違うからです。






