Source code
Revision control
Copy as Markdown
Other Tools
// Changing arguments.length during a for-of loop iterating over arguments affects the loop.
load(libdir + "iteration.js");
Object.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];
var s;
function f() {
for (var v of arguments) {
s += v;
arguments.length--;
}
}
s = '';
f('a', 'b', 'c', 'd', 'e');
assertEq(s, 'abc');