From a00858e3e632ae9a77ddd2f4fdf06795e579eb48 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Tue, 1 Feb 2022 01:28:43 +0900 Subject: 2021/07/21 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../the_legacy_iterator_protocol/index.md | 54 +++++++++------------- 1 file changed, 21 insertions(+), 33 deletions(-) (limited to 'files/ja') 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 --- -
{{jsSidebar("More")}}
+{{jsSidebar("More")}} -
標準外です。 古いイテレータープロトコルは SpiderMonkey 固有の機能で、 Firefox 58 で削除されました。将来に向けた使用では、 for..of ループと 反復処理プロトコル を使用することを検討してください。
+> **Warning:** 古いイテレータープロトコルは SpiderMonkey 固有の機能で、 Firefox 58 で削除されました。将来に向けた使用では、 [for..of](/ja/docs/Web/JavaScript/Reference/Statements/for...of) ループと[反復処理プロトコル](/ja/docs/Web/JavaScript/Reference/Iteration_protocols)を使用することを検討してください。 -

非推奨の Firefox 専用イテレータープロトコル

+## 非推奨の Firefox 専用イテレータープロトコル -

Firefox version 26 以前は、標準の ES2015 のイテレータープロトコルに似た別のイテレータープロトコルを実装していました。

+Firefox version 26 以前は、標準の [ES2015 のイテレータープロトコル](/ja/docs/Web/JavaScript/Reference/Iteration_protocols)に似た別のイテレータープロトコルを実装していました。 -

オブジェクトが次のセマンティックスをもつ next() メソッドを実装している場合、そのオブジェクトは古いイテレーターで、反復処理の最後に {{jsxref("Global_Objects/StopIteration", "StopIteration")}} をスローします。

+オブジェクトが次の意味をもつ `next()` メソッドを実装している場合、そのオブジェクトは古いイテレーターで、反復処理の最後に {{jsxref("Global_Objects/StopIteration", "StopIteration")}} をスローします。 - - - - - - - - - - - -
プロパティ
next引数なしの関数で、値を返します。
+| プロパティ |値 | +| -------- | ------------------------------------------------ | +| `next` | 引数なしの関数で、値を返します。 | -

古いイテレータープロトコルと ES2015 イテレータープロトコルとの違い

+### 古いイテレータープロトコルと ES2015 イテレータープロトコルとの違い - +- 値はプレイスホルダーオブジェクトの `value` プロパティではなく、 `next` の呼び出しの返値として直接値が返されていました。 +- 反復処理の終了は {{jsxref("Global_Objects/StopIteration", "StopIteration")}} オブジェクトをスローすることで表現されていました。 -

古いプロトコルをもつ簡単な例

+### 古いプロトコルをもつ簡単な例 -
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
     }
 }
-
+``` -

関連情報

+## 関連情報 - +- [イテレーターとジェネレーター](/ja/docs/Web/JavaScript/Guide/Iterators_and_Generators) +- 他の[非推奨の機能、廃止された機能](/ja/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features) -- cgit v1.2.3-54-g00ecf