【发布时间】:2019-07-19 07:26:51
【问题描述】:
最近我读到了 ES5 规范,在 Chapter-10 中有一个困惑,那就是关于 Execution Context。更确切地说,混淆存在于 10.5[https://ecma-international.org/ecma-262/5.1/#sec-10.5]。
第10.5条名为Declaration Binding Instantiation,它解释了Execution Context的组件VariableEnvironment是如何生成的。我困惑的地方是item-5-iii:“如果existingProp .[[Configurable]] 为真...”。
这样做的目的是什么,为什么调用全局对象的[[DefineOwnProperty]]时PropertyDescriptor.[[Value]]是未定义的,以及如何用真实的javascript代码证明这一步?
或者这是一个错误?这里的 [[Value]] 应该是声明的函数对象吧?
【问题讨论】: