diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 7673f147e8f..f1d92de6308 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -3121,7 +3121,13 @@ namespace ts { let node = createNode(SyntaxKind.PrefixUnaryExpression); node.operator = token; nextToken(); - node.operand = parseUnaryExpressionOrHigher(); + let tryParseUnaryExpression = parseUnaryExpressionOrHigher(); + if (token === SyntaxKind.AsteriskAsteriskToken) { + node.operand = parseBinaryExpressionRest(getBinaryOperatorPrecedence(), tryParseUnaryExpression); + } + else { + node.operand = tryParseUnaryExpression; + } return finishNode(node); }