[javascript] 入門・厳密等価演算子とは?

Pocket
LINEで送る

code

photo credit: Dmitry Baranovskiy via photopin cc

マネージャーの役割になってからプログラムの知識習得を怠って居たため素人なみの知識になってしまいました。
そんな素人同然の自分が感じた「これって何だろう?」をアップしていきたいと思います。

今回は既存ホームページの改修中にjavascriptを読んでいて「===」という演算子があることに気づきました。
これっていったい何?

Index

 

演算子の違い

通常の「==」は「等価演算子」と言うの対して、「===」は「厳密等価演算子」と言うそうです。
パンチミスではなかったんですね(笑)
「等価演算子」は型が違っても自動的に変換を行い比較されるのに対して、「厳密等価演算子」は型が違うとFalseとして扱われます。

動作の違い

1.等価演算子の場合:

var a = 1;
var b = "1";
if (a == b) {
  alert(true);
} else {
  alert(false);
}

結果:true

2.厳密等価演算子の場合:

var a = 1;
var b = "1";
if (a === b) {
  alert(true);
} else {
  alert(false);
}

結果:false

1.の場合は数値型と文字列型の比較ですが自動的に型変換されて「true」と判定されています。
2.の場合は数値型と文字列型で型が異なるため「false」と判定されています。

実際の利用例

等価演算子と厳密等価演算子の動作の違いは分かりました。
後は「で、どうやって使うのか?」ですね。
jQueryなどの実際に使っているコードを見て見るのが早いですね。

if (typeof b.toString === “function”)
if (typeof $err === “undefined”)
if (c === “” || c === null)
if (f.length !== 2)

ほとんどのif文で厳密等価演算子を利用して比較していますね。

まとめ

自分が勉強していたjavascriptの知識も昔のもので、最近のコーティングを一から学ばないとダメですね。
これからも気になった事はアップしていきたいと思います。
また、こんな素人ですがアドバイスもらえるとうれしいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この記事のトラックバック用URL