「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

「不等価演算子」と「厳密不等価演算子」の違い

スポンサーリンク

予備知識


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

それぞれの用語の意味


用語意味
不等価演算子!=プログラミングで出てくる演算子のひとつで「右側の値と左側の値は違いますか~?」な比較を意味する演算子
厳密不等価演算子!==プログラミングで出てくる演算子のひとつで「変数の型まで含めて比較したときに、右側の値と左側の値は違うやつですか~?」な比較を意味する演算子

似ているところ


どちらも、値が違うか比較するときに使う演算子です。


「不等価演算子」と「厳密不等価演算子」の違い1

違うところ


変数の型を考慮するか否かの違いです。

不等価演算子(!=)を使って比較した場合は

1.値が違う(例えば「10」と「20」を比較した場合)

であればOK(違う)扱いになります。
型が違う場合でも値が同じであれば「NG(同じ)」と判断されるのが一般的です。


「不等価演算子」と「厳密不等価演算子」の違い2

厳密不等価演算子(!==)を使って比較した場合は

1.値が違う(例えば「10」と「20」を比較した場合)
2.型が違う(例えば「10」と「"10"」を比較した場合)


のどちらかであればOK(違う)扱いになります。
値が同じで型も同じ場合のみ「NG(同じ)」と判断されます。


「不等価演算子」と「厳密不等価演算子」の違い3

個人的な使い分け


厳密不等価演算子(!==)があるプログラミング言語であれば、基本的には厳密不等価演算子(!==)を使うようにしています。
プログラミング言語にもよりますが不等価演算子(!=)で比較した場合は、数字の0、空文字NULLなどが同じ値だと判断されてしまうからです。


備考


不等価演算子は「!=」を使うのが一般的ですが「<>」を使うプログラミング言語もあります。
厳密不等価演算子は「!==」を使うのが一般的です。

せっかくなので、実際のプログラミングに近い例も載せておきますね。
例示に使うプログラミング言語はJavaScriptです。

例えば、以下のような処理が あったとしましょう。

var a = 10;
var b = "10";

if(a != b){
    alert("aとbは違う");
}

if(a !== b){
    alert("aとbは型が違うか値が違う");
}


この処理を実行すると「aとbは型が違うか値が違う」のみ表示されます。
不等価演算子(!=)で比較したときは「同じ『10』だよね」と判断されるので「aとbは違う」は表示されません。


スポンサーリンク
書籍画像019
書籍画像054


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
インフルエンサー六法 活動開始から情報発信、収益化までに潜むトラブル対策50
AI用語図鑑 ビジネス・開発・試験対策に使える厳選キーワード256