function-spread.js 528 B

123456789101112131415161718192021222324252627
  1. load("test-common.js");
  2. try {
  3. const sum = (a, b, c) => a + b + c;
  4. const a = [1, 2, 3];
  5. assert(sum(...a) === 6);
  6. assert(sum(1, ...a) === 4);
  7. assert(sum(...a, 10) === 6);
  8. const foo = (a, b, c) => c;
  9. const o = { bar: [1, 2, 3] };
  10. assert(foo(...o.bar) === 3);
  11. assert(foo(..."abc") === "c");
  12. assertThrowsError(() => {
  13. [...1];
  14. }, {
  15. error: TypeError,
  16. message: "1 is not iterable",
  17. });
  18. console.log("PASS");
  19. } catch (e) {
  20. console.log("FAIL: " + e);
  21. }