2015-12-15 17:33:49 +01:00
|
|
|
// Copyright (C) 2015 André Bargull. All rights reserved.
|
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
|
|
|
|
/*---
|
2016-02-22 15:47:03 +01:00
|
|
|
esid: sec-destructuring-binding-patterns
|
2015-12-15 17:33:49 +01:00
|
|
|
description: >
|
|
|
|
The rest parameter can be a binding pattern.
|
2018-01-05 18:26:51 +01:00
|
|
|
info: |
|
2015-12-15 17:33:49 +01:00
|
|
|
Destructuring Binding Patterns - Syntax
|
|
|
|
|
|
|
|
BindingRestElement[Yield]:
|
|
|
|
...BindingPattern[?Yield]
|
|
|
|
---*/
|
|
|
|
|
|
|
|
function empty(...{}) {}
|
|
|
|
|
|
|
|
function emptyWithArray(...{p: []}) {}
|
|
|
|
|
|
|
|
function emptyWithObject(...{p: {}}) {}
|
|
|
|
|
|
|
|
function emptyWithLeading(x, ...{}) {}
|
|
|
|
|
|
|
|
|
|
|
|
function singleElement(...{a: b}) {}
|
|
|
|
|
|
|
|
function singleElementWithInitializer(...{a: b = 0}) {}
|
|
|
|
|
|
|
|
function singleElementWithArray(...{p: [a]}) {}
|
|
|
|
|
|
|
|
function singleElementWithObject(...{p: {a: b}}) {}
|
|
|
|
|
|
|
|
function singleElementWithLeading(x, ...{a: b}) {}
|
|
|
|
|
|
|
|
|
|
|
|
function multiElement(...{a: r, b: s, c: t}) {}
|
|
|
|
|
|
|
|
function multiElementWithInitializer(...{a: r = 0, b: s, c: t = 1}) {}
|
|
|
|
|
|
|
|
function multiElementWithArray(...{p: [a], b, q: [c]}) {}
|
|
|
|
|
|
|
|
function multiElementWithObject(...{a: {p: q}, b: {r}, c: {s = 0}}) {}
|
|
|
|
|
|
|
|
function multiElementWithLeading(x, y, ...{a: r, b: s, c: t}) {}
|
|
|
|
|