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"); |