diff options
-rw-r--r-- | files/ja/web/javascript/reference/deprecated_and_obsolete_features/the_legacy_iterator_protocol/index.md | 54 |
1 files changed, 21 insertions, 33 deletions
diff --git a/files/ja/web/javascript/reference/deprecated_and_obsolete_features/the_legacy_iterator_protocol/index.md b/files/ja/web/javascript/reference/deprecated_and_obsolete_features/the_legacy_iterator_protocol/index.md index b4148651b5..d3585d4ada 100644 --- a/files/ja/web/javascript/reference/deprecated_and_obsolete_features/the_legacy_iterator_protocol/index.md +++ b/files/ja/web/javascript/reference/deprecated_and_obsolete_features/the_legacy_iterator_protocol/index.md @@ -4,50 +4,40 @@ slug: >- Web/JavaScript/Reference/Deprecated_and_obsolete_features/The_legacy_Iterator_protocol tags: - ES2015 - - Guide + - ガイド - JavaScript - - Legacy Iterator + - 古いイテレーター translation_of: >- Web/JavaScript/Reference/Deprecated_and_obsolete_features/The_legacy_Iterator_protocol --- -<div>{{jsSidebar("More")}}</div> +{{jsSidebar("More")}} -<div class="warning"><strong>標準外です。</strong> 古いイテレータープロトコルは SpiderMonkey 固有の機能で、 Firefox 58 で削除されました。将来に向けた使用では、 <a href="/ja/docs/Web/JavaScript/Reference/Statements/for...of">for..of</a> ループと <a href="/ja/docs/Web/JavaScript/Reference/Iteration_protocols">反復処理プロトコル</a> を使用することを検討してください。</div> +> **Warning:** 古いイテレータープロトコルは SpiderMonkey 固有の機能で、 Firefox 58 で削除されました。将来に向けた使用では、 [for..of](/ja/docs/Web/JavaScript/Reference/Statements/for...of) ループと[反復処理プロトコル](/ja/docs/Web/JavaScript/Reference/Iteration_protocols)を使用することを検討してください。 -<h2 id="The_deprecated_Firefox-only_iterator_protocol">非推奨の Firefox 専用イテレータープロトコル</h2> +## 非推奨の Firefox 専用イテレータープロトコル -<p>Firefox version 26 以前は、標準の <a href="/ja/docs/Web/JavaScript/Reference/Iteration_protocols">ES2015 のイテレータープロトコル</a>に似た別のイテレータープロトコルを実装していました。</p> +Firefox version 26 以前は、標準の [ES2015 のイテレータープロトコル](/ja/docs/Web/JavaScript/Reference/Iteration_protocols)に似た別のイテレータープロトコルを実装していました。 -<p>オブジェクトが次のセマンティックスをもつ <code>next()</code> メソッドを実装している場合、そのオブジェクトは古いイテレーターで、反復処理の最後に {{jsxref("Global_Objects/StopIteration", "StopIteration")}} をスローします。</p> +オブジェクトが次の意味をもつ `next()` メソッドを実装している場合、そのオブジェクトは古いイテレーターで、反復処理の最後に {{jsxref("Global_Objects/StopIteration", "StopIteration")}} をスローします。 -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">プロパティ</th> - <th scope="col">値</th> - </tr> - <tr> - <td><code>next</code></td> - <td>引数なしの関数で、値を返します。</td> - </tr> - </tbody> -</table> +| プロパティ |値 | +| -------- | ------------------------------------------------ | +| `next` | 引数なしの関数で、値を返します。 | -<h3 id="Difference_between_legacy_and_ES2015_iterator_protocols">古いイテレータープロトコルと ES2015 イテレータープロトコルとの違い</h3> +### 古いイテレータープロトコルと ES2015 イテレータープロトコルとの違い -<ul> - <li>値はプレイスホルダーオブジェクトの <code>value</code> プロパティではなく、 <code>next</code> の呼び出しの返値として直接値が返されていました。</li> - <li>反復処理の終了は {{jsxref("Global_Objects/StopIteration", "StopIteration")}} オブジェクトをスローすることで表現されていました。</li> -</ul> +- 値はプレイスホルダーオブジェクトの `value` プロパティではなく、 `next` の呼び出しの返値として直接値が返されていました。 +- 反復処理の終了は {{jsxref("Global_Objects/StopIteration", "StopIteration")}} オブジェクトをスローすることで表現されていました。 -<h3 id="Simple_example_with_the_old_protocol">古いプロトコルをもつ簡単な例</h3> +### 古いプロトコルをもつ簡単な例 -<pre class="brush: js">function makeIterator(array){ +```js +function makeIterator(array){ var nextIndex = 0; return { next: function(){ - if(nextIndex < array.length){ + if(nextIndex < array.length){ return array[nextIndex++]; else throw new StopIteration(); @@ -67,11 +57,9 @@ catch(e){ // iteration over } } -</pre> +``` -<h2 id="See_also">関連情報</h2> +## 関連情報 -<ul> - <li><a href="/ja/docs/Web/JavaScript/Guide/Iterators_and_Generators">イテレーターとジェネレーター</a></li> - <li>More <a href="/ja/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features">非推奨の機能、廃止された機能</a></li> -</ul> +- [イテレーターとジェネレーター](/ja/docs/Web/JavaScript/Guide/Iterators_and_Generators) +- 他の[非推奨の機能、廃止された機能](/ja/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features) |