defaults-with-rest.js (474B)
1 load(libdir + "eqArrayHelper.js"); 2 load(libdir + "asserts.js"); 3 4 function f1(a, bIs, b=3, ...rest) { 5 assertEq(a, 1); 6 assertEq(bIs, b); 7 assertEqArray(rest, []); 8 } 9 assertEq(f1.length, 2); 10 f1(1, 3); 11 f1(1, 42, 42); 12 function f2(a=rest, ...rest) { 13 } 14 // TDZ 15 assertThrowsInstanceOf(f2, ReferenceError); 16 function f3(a=rest, ...rest) { 17 } 18 assertThrowsInstanceOf(f3, ReferenceError); 19 function f4(a=42, ...f) { 20 assertEq(typeof f, "function"); 21 function f() {} 22 } 23 f4()