diff --git a/lib/babel/transformation/transformers/es6/destructuring.js b/lib/babel/transformation/transformers/es6/destructuring.js index b1ae7cc4c7..17549960e6 100644 --- a/lib/babel/transformation/transformers/es6/destructuring.js +++ b/lib/babel/transformation/transformers/es6/destructuring.js @@ -168,6 +168,7 @@ DestructuringTransformer.prototype.canUnpackArrayPattern = function (pattern, ar // pattern has less elements than the array and doesn't have a rest so some // elements wont be evaluated + if (pattern.elements.length > arr.elements.length) return; if (pattern.elements.length < arr.elements.length && !hasRest(pattern)) return false; // deopt on holes @@ -418,7 +419,7 @@ exports.AssignmentExpression = function (node, parent, scope, file) { return t.toSequenceExpression(nodes, scope); }; -var variableDeclarationhasPattern = function (node) { +var variableDeclarationHasPattern = function (node) { for (var i = 0; i < node.declarations.length; i++) { if (t.isPattern(node.declarations[i].id)) { return true; @@ -429,7 +430,7 @@ var variableDeclarationhasPattern = function (node) { exports.VariableDeclaration = function (node, parent, scope, file) { if (t.isForInStatement(parent) || t.isForOfStatement(parent)) return; - if (!variableDeclarationhasPattern(node)) return; + if (!variableDeclarationHasPattern(node)) return; var nodes = []; var declar;