Max*_*Pro 3 javascript ecmascript-6
有什么不同?我看了ECMAScript规范,但听不懂。真正的代码示例会很有帮助。
如果您可以在这里解释每一行,那就太好了
MemberExpression :
PrimaryExpression
FunctionExpression
MemberExpression [ Expression ]
MemberExpression . IdentifierName
CallExpression :
MemberExpression Arguments
CallExpression Arguments
CallExpression [ Expression ]
CallExpression . IdentifierName
Run Code Online (Sandbox Code Playgroud)
例如
console.log - MemberExpression: MemberExpression . IdentifierName
console.log("hi") - CallExpression : MemberExpression Arguments
Run Code Online (Sandbox Code Playgroud)
什么是平等的
CallExpression : CallExpression . IdentifierName
CallExpression [ Expression ]
CallExpression : CallExpression Arguments
Run Code Online (Sandbox Code Playgroud)
ES链接http://www.ecma-international.org/ecma-262/5.1/#sec-11.2
func() 是一个 CallExpressionthing.func 是一个 MemberExpression
thing是object的MemberExpressionfunc是property的MemberExpressionthing.func()是MemberExpression内CallExpression
thing.func是callee的CallExpression资料来源:astexplorer.net。
这里的相关部分是
NewExpression :
MemberExpression
new NewExpression
LeftHandSideExpression :
NewExpression
CallExpression
它区分了三个主要的左侧表达式:
所有这些都在正确的位置具有会员访问权限。因此,您列出的产生式之间的区别只是 aCallExpression始终包含调用 - 因此可能不是 new运算符后面的表达式的一部分。