clean up destructuring transformer and optimise array destructuring - closes #749

This commit is contained in:
Sebastian McKenzie
2015-02-19 19:16:27 +11:00
parent 5e4a008a06
commit 83cd3bef92
3 changed files with 164 additions and 59 deletions

View File

@@ -0,0 +1,9 @@
// opt
var [a, b] = [1, 2];
var [[a, b]] = [[1, 2]];
// deopt
var [a, b] = [1, 2, 3];
var [[a, b]] = [[1, 2, 3]];
var [a, b, ...items] = [1, 2, 3];
var [[a, b, ...items]] = [[1, 2, 3]];

View File

@@ -0,0 +1,23 @@
"use strict";
// opt
var a = 1;
var b = 2;
var a = 1;
var b = 2;
// deopt
var _ref = [1, 2, 3];
var a = _ref[0];
var b = _ref[1];
var _ref2 = [1, 2, 3];
var a = _ref2[0];
var b = _ref2[1];
var _ref3 = [1, 2, 3];
var a = _ref3[0];
var b = _ref3[1];
var items = _ref3.slice(2);
var _ref4 = [1, 2, 3];
var a = _ref4[0];
var b = _ref4[1];
var items = _ref4.slice(2);