StopIteration

Deprecated
This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Do not use it in old or new projects. Pages or Web apps using it may break at any time.

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

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

Syntax

JavaScript
StopIteration

Description

StopIteration is a part of legacy iterator protocol, and it will be removed at the same time as legacy iterator and legacy generator.

Examples

StopIteration is thrown by Iterator.

JavaScript
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.

JavaScript
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.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support No support (Yes) No support No support No support
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support No support No support (Yes) No support No support No support

See also

License

© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/stopiteration

Deprecated JavaScript Legacy Iterator Reference StopIteration