JavaScriptの「==」と「===」の違いをわかりやすく解説
JavaScriptには2種類の等価比較がある
JavaScriptで値の等しさを比較する際、実は2つの方法が用意されていることに気づいたことはありませんか?
- 通常の等価演算子(あいまい等価):
==(イコール2つ) - 厳密等価演算子:
===(イコール3つ)
両者の違いは以下のとおりです。
==(通常の等価)は値のみを比較し、データ型は無視します。===(厳密等価)は値とデータ型の両方を比較します。
具体例で見る違い
// true を返す
5 == "5"
// false を返す
5 === "5"上記の例では、左辺は数値型、右辺は文字列型(引用符 ' ' で囲まれているため)です。
どちらも「5」という同じ値を持っていますが、一方は数値、もう一方は文字列です。厳密等価演算子 === は、値とデータ型の両方が一致した場合にのみ true と評価されます。
型が一致すれば === は true を返す
つまり、次の例はどちらも比較対象のデータ型が同じであるため、true を返します。
// true を返す
5 === 5
// true を返す
"5" === "5"実務ではどちらを使うべき?
== は比較の際に暗黙的な型変換(型強制)を行うため、意図しない結果を招くことがあります。そのため、実務では予期せぬバグを防ぐ観点から、===(厳密等価演算子)を使うことがベストプラクティスとされています。
-
JavaScriptで学ぶ二分探索木(Binary Search Tree)の基本と操作方法
二分探索木とは二分探索木は、通常の木構造とは異なる特別な性質を持つデータ構造です。この性質により、データの検索・挿入・削除を効率的に行うことができます。二分探索木では、各ノードが次のルールに従わなければなりません。ノードの左の子は、必ず親ノードより小さい値を持つノードの右の子は、必ず親ノードより大きい値を持つこの規則が成り立つことで、値を探す際に「目的の値より小さければ左へ、大きければ右へ」と分岐をたどるだけで済み、探索範囲を毎回半分に絞り込めます。そのため、整列された配列に対する二分探索と同様の効率性が得られます。本記事を含む木構造のセクションでは、主にこの二分探索木を中心に解説を進めていき
-
JavaScriptでhref属性の値を取得する方法|jQueryのattr()メソッド活用ガイド
Web開発では、アンカータグ(<a>)に設定されたリンク先URL、つまりhref属性の値を取得したい場面がよくあります。この記事では、jQueryのattr()メソッドを使って、簡単にhrefの値を取得する方法を解説します。対象となるHTMLの例たとえば、以下のようなアンカータグがあったとします。<a class=demo title=get the url href=./mainPage.jsp/1245>href value at console</a>ここで必要なのは、テキスト部分ではなく、URLそのもの、すなわちhref属性の値「./mainPage