Source code
Revision control
Copy as Markdown
Other Tools
function no_conflict() {
return arguments.length;
}
assertEq(no_conflict(1, 2, 3), 3);
function conflict_func() {
function arguments(a) {}
return arguments.length;
}
assertEq(conflict_func(1, 2, 3), 1);
function conflict_gen() {
function* arguments(a) {}
return arguments.length;
}
assertEq(conflict_gen(1, 2, 3), 1);
function conflict_async() {
async function arguments(a) {}
return arguments.length;
}
assertEq(conflict_async(1, 2, 3), 1);
function conflict_async_gen() {
async function* arguments(a) {}
return arguments.length;
}
assertEq(conflict_async_gen(1, 2, 3), 1);
function conflict_var() {
var arguments = [0];
return arguments.length;
}
assertEq(conflict_var(1, 2, 3), 1);
function conflict_let() {
let arguments = [0];
return arguments.length;
}
assertEq(conflict_let(1, 2, 3), 1);
function conflict_const() {
const arguments = [0];
return arguments.length;
}
assertEq(conflict_const(1, 2, 3), 1);
function conflict_block_func() {
{
function arguments(a) {}
}
return arguments.length;
}
assertEq(conflict_block_func(1, 2, 3), 1);
function conflict_block_func_and_let() {
{
function arguments(a) {}
}
let arguments = [0, 0];
return arguments.length;
}
assertEq(conflict_block_func_and_let(1, 2, 3), 2);