| var outer = []; | |
| function test() { | |
| var a = {}; | |
| var defaultObj = { | |
| name: "default", | |
| length: 3, | |
| 0: "a", | |
| 1: "b", | |
| 2: "c", | |
| [Symbol.iterator]: Array.prototype[Symbol.iterator] | |
| }; | |
| function tester({ name } = { name: a.name } = [outer[0], ...outer[1]] = defaultObj) { return name; } | |
| return tester() === "default" && a.name === "default" && (outer + "") === "a,b,c"; | |
| } | |
| if (!test()) | |
| throw new Error("Test failed"); |