Highlight: entries() メソッド

Baseline 2025
Newly available

Since June 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

entries()Highlight インターフェイスのメソッドで、新しいイテレーターオブジェクトを返します。これは、この Highlight オブジェクト内の各 Range オブジェクトを」配列 [range, range] の形で、挿入順に反復処理します。

HighlightSet 風オブジェクトですので、これは Set.entries() を使うのと似ています。

構文

js
entries()

返値

この Highlight 内のすべての Range オブジェクトを [range, range] の配列の形で反復処理する、新しいイテレーターオブジェクトです。

以下のコードスニペットは、2 つの範囲を持つ新しいハイライトを作成し、 entries() メソッドによって返されるイテレーターを使用してその範囲をログに記録する方法を示しています。

js
const text = new Text("Time is an illusion. Lunchtime doubly so.");

const range1 = document.createRange();
range1.setStart(text, 0);
range1.setEnd(text, 4);

const range2 = document.createRange();
range2.setStart(text, 21);
range2.setEnd(text, 30);

const myHighlight = new Highlight();
myHighlight.add(range1);
myHighlight.add(range2);

const iter = myHighlight.entries();

console.log(iter.next().value); // [Range, Range]
console.log(iter.next().value); // [Range, Range]

次のサンプルコードは、 for...of ループを使用してハイライトの範囲を反復処理する方法を示しています。

js
const text = new Text("Time is an illusion. Lunchtime doubly so.");

const range1 = document.createRange();
range1.setStart(text, 0);
range1.setEnd(text, 4);

const range2 = document.createRange();
range2.setStart(text, 21);
range2.setEnd(text, 30);

const highlight = new Highlight();
highlight.add(range1);
highlight.add(range2);

for (const [range] of highlight.entries()) {
  console.log(range.toString());
  // Time
  // Lunchtime
}

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-set.prototype.entries

ブラウザーの互換性

関連情報