// Copyright (C) 2016 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- template: default desc: Object binding pattern with "nested" object binding pattern using initializer info: | 13.3.3.7 Runtime Semantics: KeyedBindingInitialization [...] 3. If Initializer is present and v is undefined, then a. Let defaultValue be the result of evaluating Initializer. b. Let v be GetValue(defaultValue). c. ReturnIfAbrupt(v). 4. Return the result of performing BindingInitialization for BindingPattern passing v and environment as arguments. ---*/ //- elems { w: { x, y, z } = { x: 4, y: 5, z: 6 } } //- vals { w: undefined } //- body assert.sameValue(x, 4); assert.sameValue(y, 5); assert.sameValue(z, 6); assert.throws(ReferenceError, function() { w; });