* avoid duplicating impure initializers in object rest destructuring * reuse existing VariableDeclarations in object rest destructuring, to fix two issues: 1. inserting an additional VariableDeclaration after the current one may change order of operations, which is unsafe if a future VariableDeclarator refers to a destructured variable. 2. The entire VariableDeclaration is removed when all properties are rest properties, indiscriminately removing other variables
8 lines
134 B
JavaScript
8 lines
134 B
JavaScript
const { s, ...t } = foo();
|
|
|
|
const { s: { q1, ...q2 }, ...q3 } = bar();
|
|
|
|
const { a } = foo(({ b, ...c }) => {
|
|
console.log(b, c);
|
|
});
|