JavaScriptのSet.has()メソッドとは?使い方とサンプルコードを解説
Setオブジェクトのhas()メソッドは、引数として渡した値が現在のSetオブジェクト内に存在するかどうかを判定します。値が存在する場合は真偽値 true を返し、存在しない場合は false を返します。要素の存在チェックを行いたい場面で非常に便利なメソッドです。
構文
構文は以下の通りです。
setObj.has(値)
サンプルコード
次の例では、複数の文字列をSetに追加し、has()メソッドを使って特定の要素が含まれているかどうかを確認しています。
<html>
<head>
<title>JavaScript サンプル</title>
</head>
<body>
<script type="text/javascript">
const setObj = new Set();
setObj.add('Java');
setObj.add('JavaFX');
setObj.add('JavaScript');
setObj.add('HBase');
document.write("Setの内容:");
document.write("<br>");
for (let item of setObj) {
document.write(item);
document.write("<br>");
}
var result = setObj.has('JavaFX');
if (result) {
document.write("Setオブジェクトには指定した要素が含まれています");
} else {
document.write("Setオブジェクトには指定した要素が含まれていません");
}
</script>
</body>
</html>
実行結果
Setの内容: Java JavaFX JavaScript HBase true Setオブジェクトには指定した要素が含まれています
この例では、'JavaFX'があらかじめSetに追加されているため、has('JavaFX')は true を返し、「含まれています」というメッセージが出力されます。もし存在しない値を指定した場合は false が返され、elseブロックのメッセージが表示されます。
なお、has()メソッドはSameValueZeroアルゴリズムに基づいて等価性を比較するため、オブジェクト型の要素の場合は同一の参照を持つインスタンスでなければ一致しない点にも注意が必要です。
-
JavaScriptの関数プロトタイプとは?仕組みと使い方を解説
JavaScriptで作成されたすべての関数には、JavaScriptエンジンによって自動的にprototypeプロパティが追加されます。このprototypeプロパティはオブジェクトであり、デフォルトではconstructorプロパティを含んでいます。関数のプロトタイプには、以下のようにしてアクセスできます。functionName.prototypeコンストラクタ関数を使ってオブジェクトを生成する場合、このprototypeプロパティを活用することで、同じコンストラクタから作成された複数のオブジェクト間でメソッドやプロパティを効率的に共有することができます。これにより、各インスタンスごとに
-
JavaScriptでのメソッド借用:call()・apply()・bind()の使い方を解説
JavaScriptでは、call()、apply()、bind()という3つのメソッドを使うことで、あるオブジェクトが持つメソッドを別のオブジェクトが「借用」できます。これは、本来そのメソッドを持たないオブジェクトに対して、thisの参照先を差し替えてメソッドを実行できる便利なテクニックです。 3つのメソッドの違い call():引数をカンマ区切りで個別に渡し、即座に関数を実行します。 apply():引数を配列(または配列風オブジェクト)として渡し、即座に関数を実行します。 bind():thisを固定した新しい関数を返すだけで、即座には実行されません。返された関数は後から好きなタイミン