diff --git a/src/Esprima/JavascriptParser.cs b/src/Esprima/JavascriptParser.cs index fd2b8869..107cb7a2 100644 --- a/src/Esprima/JavascriptParser.cs +++ b/src/Esprima/JavascriptParser.cs @@ -1860,10 +1860,14 @@ private Expression ParseUnaryExpression() private Expression ParseExponentiationExpression() { - var startToken = _lookahead; - - var expr = InheritCoverGrammar(parseUnaryExpression); - if (expr.Type != Nodes.UnaryExpression && Match("**")) + var startToken = _lookahead; + + var isLeftParenthesized = this.Match("("); + var expr = InheritCoverGrammar(parseUnaryExpression); + + var exponentAllowed = expr.Type != Nodes.UnaryExpression || isLeftParenthesized; + + if (exponentAllowed && Match("**")) { NextToken(); _context.IsAssignmentTarget = false;