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 707011 of StopIteration

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

Revision Content

{{jsref("Global_Objects", "StopIteration")}}
Non-standard.
The StopIteration object 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 the iteration in the legacy iterator protocol.

Syntax

StopIteration

Description

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

Examples

StopIteration is 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

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
}

Specifications

Non-standard. Not part of any current standards document.

See also

Revision Source

<div>
 {{jsref("Global_Objects", "StopIteration")}}</div>
<div class="warning">
 <strong>Non-standard.</strong><br />
 The <code><strong>StopIteration</strong></code> object 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 the iteration in the legacy iterator protocol.</p>
<h2 id="Syntax" name="Syntax">Syntax</h2>
<pre class="syntaxbox">
StopIteration</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> is thrown by <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator"><code>Iterator</code></a>.</p>
<pre class="brush: js">
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>Throwing <code>StopIteration</code>.</p>
<pre class="brush: js">
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>Specifications</h2>
<p>Non-standard. Not part of any current standards document.</p>
<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