diff --git a/packages/babel/src/generation/generators/expressions.js b/packages/babel/src/generation/generators/expressions.js index e0d07fa4a6..8d380dc507 100644 --- a/packages/babel/src/generation/generators/expressions.js +++ b/packages/babel/src/generation/generators/expressions.js @@ -280,7 +280,7 @@ export function MemberExpression(node, print) { } else { if (t.isLiteral(node.object)) { var val = this._Literal(node.object); - if (isInteger(+val) && !SCIENTIFIC_NOTATION.test(val)) { + if (isInteger(+val) && !SCIENTIFIC_NOTATION.test(val) && !this.endsWith(".")) { this.push("."); } } diff --git a/packages/babel/test/fixtures/generation/types/MemberExpression/actual.js b/packages/babel/test/fixtures/generation/types/MemberExpression/actual.js index 6dd85f4b19..b1b488aa12 100644 --- a/packages/babel/test/fixtures/generation/types/MemberExpression/actual.js +++ b/packages/babel/test/fixtures/generation/types/MemberExpression/actual.js @@ -6,3 +6,6 @@ foo.bar["foo"]; foo["foo"]["bar"]; foo[test()][bar()]; + +0..toString(); +0.5.toString(); diff --git a/packages/babel/test/fixtures/generation/types/MemberExpression/expected.js b/packages/babel/test/fixtures/generation/types/MemberExpression/expected.js index 6dd85f4b19..b1b488aa12 100644 --- a/packages/babel/test/fixtures/generation/types/MemberExpression/expected.js +++ b/packages/babel/test/fixtures/generation/types/MemberExpression/expected.js @@ -6,3 +6,6 @@ foo.bar["foo"]; foo["foo"]["bar"]; foo[test()][bar()]; + +0..toString(); +0.5.toString();