mirror of https://github.com/tc39/test262.git
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
// Copyright (C) 2015 the V8 project authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
es6id: 13.3.3
|
|
description: >
|
|
The ObjectBindingPattern with binding elements
|
|
info: |
|
|
Destructuring Binding Patterns - Syntax
|
|
|
|
ObjectBindingPattern[Yield] :
|
|
{ }
|
|
{ BindingPropertyList[?Yield] }
|
|
{ BindingPropertyList[?Yield] , }
|
|
|
|
BindingPropertyList[Yield] :
|
|
BindingProperty[?Yield]
|
|
BindingPropertyList[?Yield] , BindingProperty[?Yield]
|
|
|
|
BindingProperty[Yield] :
|
|
SingleNameBinding[?Yield]
|
|
PropertyName[?Yield] : BindingElement[?Yield]
|
|
|
|
BindingElement[Yield ] :
|
|
SingleNameBinding[?Yield]
|
|
BindingPattern[?Yield] Initializer[In, ?Yield]opt
|
|
|
|
SingleNameBinding[Yield] :
|
|
BindingIdentifier[?Yield] Initializer[In, ?Yield]opt
|
|
|
|
features: [destructuring-binding]
|
|
---*/
|
|
|
|
// BindingElement w/ SingleNameBinding
|
|
function fna({x: y}) {}
|
|
|
|
// BindingElement w/ SingleNameBinding with initializer
|
|
function fnb({x: y = 42}) {}
|
|
|
|
// BindingElement w/ BindingPattern
|
|
function fnc({x: {}}) {}
|
|
function fnd({x: {y}}) {}
|
|
|
|
// BindingElement w/ BindingPattern w/ initializer
|
|
function fne({x: {} = 42}) {}
|
|
function fnf({x: {y} = 42}) {}
|