Šim*_*das 7 javascript theory reference
严格模式规则之一(附件C)规定:
当
delete
操作符出现在严格模式代码中时,如果其UnaryExpression是对变量,函数参数或函数名的直接引用,则抛出SyntaxError.
所以在这段代码中:
delete x
Run Code Online (Sandbox Code Playgroud)
x
是一个参考.(我知道这是因为"评估标识符的结果始终是参考类型的值").但它是直接参考吗?
还有其他类型的参考吗?间接引用?(如果不是,那么使用"直接"一词有什么意义?)
是的,有不同类型的References
(EcmaScript \xc2\xa78.7)。例如,成员运算符 ( EcmaScript \xc2\xa711.2.1 ) 确实会产生基值为的值的引用baseReference
,我将其称为“非直接”。“直接引用”将是标识符引用(EcmaScript \xc2\xa710.2.2.1,其中基值是环境记录。