Implement full destructuring binding patterns with dedicated AST types
(BindingPattern, BindingElement, BindingTarget, Param) and cover grammar
for destructuring assignment (AssignmentPattern, AssignmentTarget).
Features: array/object patterns in let/const/var with defaults, holes,
rest elements, and nesting; function and arrow parameter destructuring;
destructuring assignment expressions ([a,b]=[b,a]); for-of/for-in with
destructured bindings; object shorthand properties ({x} means {x:x});
array elisions ([1,,3]). Includes 8 js262 fixtures and ~65 unit tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
13 lines
225 B
JavaScript
13 lines
225 B
JavaScript
let [a, [b, c]] = [1, [2, 3]];
|
|
console.log(a);
|
|
console.log(b);
|
|
console.log(c);
|
|
|
|
let {a: {b: inner}} = {a: {b: 42}};
|
|
console.log(inner);
|
|
|
|
let [x, {y, z}] = [10, {y: 20, z: 30}];
|
|
console.log(x);
|
|
console.log(y);
|
|
console.log(z);
|