What is the difference? I looked at the ECMAScript specification, but did not understand. The real code examples that would help much.
If you can explain every line
func()
is a CallExpression
thing.func
is a MemberExpression
thing
is the object
of the MemberExpression
func
is the property
of the MemberExpression
thing.func()
is a MemberExpression
within a CallExpression
thing.func
is the callee
of the CallExpression
Source: astexplorer.net.
The relevant parts here are
NewExpression: MemberExpression new NewExpression LeftHandSideExpression: NewExpression CallExpression
which distinguishes the three major left hand side expressions:
And all of them with member accesses in the right places. As such, the difference between the productions you listed is just that a CallExpression
always contains a call - and may therefore not be part of the expression after a new
operator.