From ed833be34a525fffeb9366debd00a84bdb54cbb9 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Mon, 5 Jan 2015 10:23:30 +1100 Subject: [PATCH] force computed property on number literal property --- lib/6to5/generation/generators/expressions.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/6to5/generation/generators/expressions.js b/lib/6to5/generation/generators/expressions.js index 7bd7a22bc5..b246abf27f 100644 --- a/lib/6to5/generation/generators/expressions.js +++ b/lib/6to5/generation/generators/expressions.js @@ -1,5 +1,6 @@ var util = require("../../util"); var t = require("../../types"); +var _ = require("lodash"); exports.UnaryExpression = function (node, print) { var hasSpace = /[a-z]$/.test(node.operator); @@ -103,7 +104,12 @@ exports.MemberExpression = function (node, print) { throw new TypeError("Got a MemberExpression for MemberExpression property"); } - if (node.computed) { + var computed = node.computed; + if (t.isLiteral(node.property) && _.isNumber(node.property.value)) { + computed = true; + } + + if (computed) { this.push("["); print(node.property); this.push("]");