JavaScriptのSet.entries()関数とは?使い方をサンプルコードで解説
JavaScriptのSet.entries()メソッドは、現在のSetオブジェクトの内容を保持するイテレーターオブジェクトを返します。このイテレーターは、Mapと同様に各エントリーに対して「キーと値」のペアを返します。ただし、Setにはキーの概念が存在しないため、実際にはキーと値の代わりに、その位置にある要素がキー・値の両方に格納された配列が返される点に注意してください。
構文
entries()メソッドの構文は以下のとおりです。
setObj.entries()
戻り値
Set内の各要素を [要素, 要素] という形式で格納した、新しいイテレーターオブジェクトを返します。引数は受け取りません。
サンプルコード
次の例では、複数の文字列をSetに追加し、entries()メソッドで取得したイテレーターをfor...ofループで順番に出力しています。
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type='text/javascript'>
const setObj = new Set();
setObj.add('Java');
setObj.add('JavaFX');
setObj.add('JavaScript');
setObj.add('HBase');
const entries = setObj.entries();
for (let item of entries) {
document.write(item);
document.write('<br>');
}
</script>
</body>
</html>
実行結果
Java,Java
JavaFX,JavaFX
JavaScript,JavaScript
HBase,HBase
実行結果を見ると、Setの各要素が「キー」と「値」に同じ値が入ったペアとして出力されていることがわかります。これは、Mapと同じインターフェースを持たせることで互換性を確保するために設計された仕様です。なお、単純にSetの値だけを取り出したい場合は、values()メソッドやスプレッド構文を使う方が簡潔です。
-
JavaScriptの関数プロトタイプとは?仕組みと使い方を解説
JavaScriptで作成されたすべての関数には、JavaScriptエンジンによって自動的にprototypeプロパティが追加されます。このprototypeプロパティはオブジェクトであり、デフォルトではconstructorプロパティを含んでいます。関数のプロトタイプには、以下のようにしてアクセスできます。functionName.prototypeコンストラクタ関数を使ってオブジェクトを生成する場合、このprototypeプロパティを活用することで、同じコンストラクタから作成された複数のオブジェクト間でメソッドやプロパティを効率的に共有することができます。これにより、各インスタンスごとに
-
JavaScriptでのメソッド借用:call()・apply()・bind()の使い方を解説
JavaScriptでは、call()、apply()、bind()という3つのメソッドを使うことで、あるオブジェクトが持つメソッドを別のオブジェクトが「借用」できます。これは、本来そのメソッドを持たないオブジェクトに対して、thisの参照先を差し替えてメソッドを実行できる便利なテクニックです。 3つのメソッドの違い call():引数をカンマ区切りで個別に渡し、即座に関数を実行します。 apply():引数を配列(または配列風オブジェクト)として渡し、即座に関数を実行します。 bind():thisを固定した新しい関数を返すだけで、即座には実行されません。返された関数は後から好きなタイミン