8.1.1.5.1 GetBindingValue ( N, S )
模块环境记录的具体环境记录方法 GetBindingValue 返回其绑定标识符的值,其名称为参数 N 的值。但是,如果绑定是间接绑定,则返回目标绑定的值。 如果绑定存在但未初始化,则抛出 ReferenceError。
- 断言:S 为 true。
- 使 envRec 变为调用该方法的模块环境记录。
- 断言:envRec 对 N 有绑定。
- 如果N的绑定是间接绑定,那么
a. 使 M 和 N2 变为当创建 N 的此绑定时提供的间接值。
b. 使 targetEnv 变为 M.[[Environment]]。
c. 如果 targetEnv 为 undefined,则抛出一个 ReferenceError 错误。
d. 使 targetER 变为 _targetEnv's _EnvironmentRecord。
e. 返回 ? targetER.GetBindingValue(N2, true)。
5.如果 denver 中 N 的绑定是未初始化的绑定,则抛出 ReferenceError 异常。
6.返回当前绑定到 envRec 中的 N 的值。
注意:S 总为 true,因为模块总是严格模式代码。