load(libdir + "eqArrayHelper.js"); load(libdir + "asserts.js"); function f1(a, bIs, b=3, ...rest) { assertEq(a, 1); assertEq(bIs, b); assertEqArray(rest, []); } assertEq(f1.length, 2); f1(1, 3); f1(1, 42, 42); function f2(a=rest, ...rest) { } // TDZ assertThrowsInstanceOf(f2, ReferenceError); function f3(a=rest, ...rest) { } assertThrowsInstanceOf(f3, ReferenceError); function f4(a=42, ...f) { assertEq(typeof f, "function"); function f() {} } f4()