20 lines
414 B
JavaScript
20 lines
414 B
JavaScript
function destructRest() {
|
|
var a, b, c, d;
|
|
[...a] = [1, 2, 3];
|
|
[b, ...c] = [1, 2, 3];
|
|
[,,, ...d] = [1, 2, 3];
|
|
return {a: a, b: b, c: c, d: d};
|
|
}
|
|
|
|
var result = destructRest();
|
|
assertArrayEquals([1, 2, 3], result.a);
|
|
assert.equal(1, result.b);
|
|
assertArrayEquals([2, 3], result.c);
|
|
assertArrayEquals([], result.d);
|
|
|
|
assert.throw(function() {
|
|
var e;
|
|
// No iterator.
|
|
[...e] = {x: 'boom'};
|
|
}, TypeError);
|