function() {
    var trap = this.getTrap("iterate");
    if (trap === undefined) {
      // default forwarding behavior
      return Reflect.iterate(this.target);
    }

    var trapResult = trap.call(this.handler, this.target);

    if (Object(trapResult) !== trapResult) {
      throw new TypeError("iterate trap should return an iterator object, "+
                          "got: "+ trapResult);
    }
    return trapResult;
  }
function() {
    var trap = this.getTrap("iterate");
    if (trap === undefined) {
      // default forwarding behavior
      return Reflect.iterate(this.target);
    }

    var trapResult = trap.call(this.handler, this.target);

    if (Object(trapResult) !== trapResult) {
      throw new TypeError("iterate trap should return an iterator object, "+
                          "got: "+ trapResult);
    }
    return trapResult;
  }
function ( ) { var trap = this . getTrap ( "iterate" ) ; if ( trap === undefined ) { // default forwarding behavior return Reflect . iterate ( this . target ) ; } var trapResult = trap . call ( this . handler , this . target ) ; if ( Object ( trapResult ) !== trapResult ) { throw new TypeError ( "iterate trap should return an iterator object, " + "got: " + trapResult ) ; } return trapResult ; }
The iterate trap should return an iterator object.
The iterate trap should return an iterator object .