Invalid UpdateExpression's arguments
Author: wind-ofCreated Jun 10, 2022Updated Jun 15, 2022
Invalid UpdateExpression's arguments
Esprima' UpdateExpression's argument is one of: ObjectExpression, ArrayExpression, MemberExpression, Identifier.
Consider behaviour of V8:

Should be:
Argument of UpdateExpression is one of: Identifier, MemberExpression
Steps to reproduce
esprima.parse('--[]') // or --{}, []--, (++[]), etc.Expected output
Expected "Invalid left-hand side expression in prefix operation"
Actual output
{
"type": "UpdateExpression",
"operator": "--",
"argument": {
"type": "ArrayExpression",
"elements": []
},
"prefix": true
}Relevant references
Source: jquery/esprima