Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 705909 of StopIteration

  • Revision slug: Web/JavaScript/Reference/Global_Objects/StopIteration
  • Revision title: StopIteration
  • Revision id: 705909
  • Created:
  • Creator: arai
  • Is current revision? No
  • Comment

Revision Content

The StopIteration is a SpiderMonkey-specific feature. For future-facing usages, consider using for..of loops and the iterator protocol

Summary

The StopIteration object is used to tell the end of iteration in legacy iterator protocol.

Syntax

Iterator

Description

An overview of the usage is available on the Iterators and Generators page.

Examples

StopIteration thrown by Iterator.

var a = {
  x: 10,
  y: 20,
};
var iter = Iterator(a);
console.log(iter.next()); // ["x", 10]
console.log(iter.next()); // ["y", 20]
console.log(iter.next()); // throws StopIteration

Stop iteration by throwing StopIteration.

function f() {
  yield 1;
  yield 2;
  throw StopIteration;
  yield 3; // this is not executed.
}
for (var n in f()) {
  console.log(n);   // 1
                    // 2
}

See also

Revision Source

<div class="warning">
 The <code><strong>StopIteration</strong></code> is a SpiderMonkey-specific feature. For future-facing usages, consider using <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of" title="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for..of</a> loops and the <a href="/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol">iterator protocol</a></div>
<h2 id="Summary">Summary</h2>
<p>The <code><strong>StopIteration</strong></code> object is used to tell the end of iteration in legacy iterator protocol.</p>
<h2 id="Syntax" name="Syntax">Syntax</h2>
<pre class="syntaxbox">
Iterator</pre>
<h2 id="Description">Description</h2>
<p>An overview of the usage is available on the <a href="/en-US/docs/JavaScript/Guide/Iterators_and_Generators" title="/en-US/docs/JavaScript/Guide/Iterators_and_Generators">Iterators and Generators</a> page.</p>
<h2 id="Examples">Examples</h2>
<p><code>StopIteration</code> thrown by <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator"><code>Iterator</code></a>.</p>
<pre>
var a = {
  x: 10,
  y: 20,
};
var iter = Iterator(a);
console.log(iter.next()); // ["x", 10]
console.log(iter.next()); // ["y", 20]
console.log(iter.next()); // throws StopIteration
</pre>
<p>Stop iteration by throwing <code>StopIteration</code>.</p>
<pre>
function f() {
  yield 1;
  yield 2;
  throw StopIteration;
  yield 3; // this is not executed.
}
for (var n in f()) {
  console.log(n);   // 1
                    // 2
}
</pre>
<h2 id="See_also">See also</h2>
<ul>
 <li><a href="/en-US/docs/JavaScript/Guide/Iterators_and_Generators" title="/en-US/docs/JavaScript/Guide/Iterators_and_Generators">Iterators and Generators</a></li>
 <li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator">Iterator</a></li>
</ul>
Revert to this revision