Iterator Symbol

Iterator symbol which specifies the default iterator for an object.

Usage

var IteratorSymbol = require( '@stdlib/symbol/iterator' );

IteratorSymbol

Iterator symbol which specifies the default iterator for an object.

var s = typeof IteratorSymbol;
// e.g., returns 'symbol'

Notes

  • The symbol is only supported in environments which support symbols. In non-supporting environments, the value is null.

Examples

var IteratorSymbol = require( '@stdlib/symbol/iterator' );

var obj;
var v;

function iterator() {
    var iter;
    var i;

    i = -1;

    iter = {};
    iter.next = next;
    iter.return = done;

    if ( IteratorSymbol ) {
        // Allow the iterator to work with `for...of`:
        iter[ IteratorSymbol ] = iterator;
    }
    return iter;

    function next() {
        i += 1;
        return {
            'value': i,
            'done': false
        };
    }

    function done( value ) {
        if ( arguments.length === 0 ) {
            return {
                'done': true
            };
        }
        return {
            'value': value,
            'done': true
        };
    }
}

obj = iterator();
while ( v === void 0 || ( v.value < 10 && v.done === false ) ) {
    v = obj.next();
    console.log( v.value );
}
Did you find this page helpful?