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

===

pointこの用語のポイント

point演算子だよ

point演算子の右側と左側が同じか型まで含めて比較するよ

point値が同じでも型が違ったら「違う」と判断されるよ

スポンサーリンク

簡単に書くよ

===とは

プログラミングで出てくる演算子のひとつ
であり

「右側の値と左側の値は、変数の型(変数の種類)まで含めて同じですか~?」な比較を意味する演算子
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

変数
変数の型
演算子


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

変数は「プログラミング言語における『値を入れておく箱』」です。

===

変数の型は「この箱(変数)には、どんな種類の物を入れていいですよ」な決まりです。

===2

例えば、そうですね。
手ごろな大きさのダンボール箱が あったとしましょう。

===3

ピヨ太君がやってきて、その箱にマジックで大きく「食べ物用」と書きました。

===4

「食べ物用」と書いたので、このダンボールに入れていいのは食べ物だけです。
食べ物以外を入れようとすると、ピヨ太君にメッチャ怒られます。

===5

この話におけるダンボール箱が「変数」です。
マジックで書いた「食べ物用」が「変数の型」になります。

===6

変数の型には、いろいろな種類があります。
数字を入れられる箱、文字を入れられる箱、文字列を入れられる箱、いろいろです。

演算子は「どんな演算をするか表す記号」です。
「+」「-」「*(×)」「/(÷)」をはじめ、なんか いろいろ あります。

===7

以上を踏まえて

左側の値と右側の値が同じか「型まで含めて」比較するときに使う演算子

が「===」です。

===8

この演算子は「型まで含めて」というのがポイントです。
例えば

1.変数aの値は10です
2.変数bの値は10です
3.変数aの値と変数bの値は同じですか?


と聞かれたとします。
変数aの値も変数bの値も同じ「10」です。
普通に考えたら「変数aの値と変数bの値は同じです」と答えるでしょう。

===9

それでは、今度はどうでしょう。

1.変数aの値は数字の10です
2.変数bの値は文字の"10"です
3.変数aの値と変数bの値は同じですか?


と聞かれました。
変数aの値と変数bの値は同じですかね。

===10

変数aに入っている値も変数bに入っている値も、どちらも「10」です。
ですから「変数aの値と変数bの値は同じ」と考えることもできます。

===11

ですが、変数aは数字です。
変数bは文字です。
型にも注目すると、変数aと変数bは違いますよね。

===12

この話における後者の考え方を導入した比較演算子が「===」です。
意味が同じでも「10」と「"10"」では「数字と文字だから違うね!」と判定します。

===13

もう少し実際のプログラミングに近い例も見てみましょう。
使うプログラミング言語はJavaScriptです。

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

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

if(a == b){
    alert("aとbは同じ");
}

if(a === b){
    alert("aとbは型まで含めて同じ");
}


まず

var a = 10;

で、変数aに数字の「10」を入れています。

次に

var b = "10";

で、変数bに文字の「10」を入れています。

次に

if(a == b){
    alert("aとbは同じ");
}


で「変数aと変数bが同じ値か」を判定しています。
==(イコール2つ)は「右側の値と左側の値は同じですか~?」な比較を意味する演算子です。
等価演算子」と呼ばれます。

最後に

if(a === b){
    alert("aとbは型まで含めて同じ");
}


で「変数aと変数bが型まで含めて同じ値か」を判定しています。
「===」(イコール3つ)が本ページで説明している演算子です。
ついでなので書いておくと「===」(イコール3つ)の名前は「厳密等価演算子」です。

ここまでの説明書きをサンプルコードの中に書き込むと、以下のようになります。

//変数aに数字の10を入れる
var a = 10;

//変数bに文字の10を入れる
var b = "10";

//変数aと変数bが同じ値か判定
if(a == b){
    alert("aとbは同じ");
}

//変数aと変数bが型まで含めて同じ値か判定
if(a === b){
    alert("aとbは型まで含めて同じ");
}


このサンプルを実行すると「aとbは同じ」は表示されますが「aとbは型まで含めて同じ」は表示されません。
型が数字と文字で違うからです。

「==」(イコール2つ:等価演算子)と「===」(イコール3つ:厳密等価演算子)はセットで覚えてあげてください。

「===」が存在するプログラミング言語において「==」は単純な値の比較です。
変数の型(変数の種類)は気にしません。
数字と文字の比較であろうと、値が同じであれば「同じだよ~」と判定します。

それに対して「===」は変数の型(変数の種類)を気にします。
数字と文字の比較のように、変数の種類が違えば、例え値が同じであろうと「違うよ~」と判定します。


image piyo2

一言でまとめるよ

まぁ「===」って演算子が出てきたら「右の値と左の値が同じか型(変数の種類)まで含めて比べるときに使う演算子なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像078
書籍画像043


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
エンジニア育成現場の「失敗」集めてみた。 42の失敗事例で学ぶマネジメントのうまい進めかた
AI用語図鑑 ビジネス・開発・試験対策に使える厳選キーワード256