gpt4 book ai didi

javascript - 根据 ECMAScript,带有参数的函数调用是否有效的左侧表达式

转载 作者:行者123 更新时间:2023-12-01 16:09:58 27 4
gpt4 key购买 nike

带参数的函数调用是否有效 left-Hand-Side-Expressions根据 ECMAScript ?

LeftHandSideExpression[Yield, Await] :
NewExpression[?Yield, ?Await]
CallExpression[?Yield, ?Await]
OptionalExpression[?Yield, ?Await]
如果我们进一步深入 CallExpression我们可以在 non-terminal CallExpression 下面看到像这样:
CallExpression[?Yield, ?Await] Arguments[?Yield, ?Await]
这是否意味着写一些类似的东西:

alert('Hello') = 1; 

已验证。如果你运行上面的代码,你会看到函数调用发生在 ReferenceError: Invalid left-hand side in assignment 之前。给出

最佳答案

这是一个很好的问题,LeftHandSideExpression 可能不是该产品的理想名称;即使可能没有右侧,它也会被使用。 :-)
在规范的后面,当决定赋值的目标是否有效时,规范会检查表达式的 AssignmentTargetType ( here )。如果该类型不是 simple ,分配无效。 CallExpression 参数(例如, alert('Hello') )和其他一些( super() 等)的 AssignmentTargetType 是 invalid ( here )。所以你不能分配给 alert('Hello') .

关于javascript - 根据 ECMAScript,带有参数的函数调用是否有效的左侧表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62710902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com