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>
11 lines
164 B
JavaScript
11 lines
164 B
JavaScript
let [a = 10, b = 20] = [1];
|
|
console.log(a);
|
|
console.log(b);
|
|
|
|
let {x = 100, y = 200} = {x: 42};
|
|
console.log(x);
|
|
console.log(y);
|
|
|
|
let [c = 99] = [0];
|
|
console.log(c);
|