Tob*_* K. 5 javascript ecmascript-6
this导入函数的值是什么,从命名空间导入调用?(根据ECMA规范)
// module.js
export function fun() {
return this;
}
// main.js
import * as module from "./module.js";
let x = module.fun(); // What's the value of x here?
Run Code Online (Sandbox Code Playgroud)
我的猜测是:它是module对象,但在规范中没有找到明确的答案.这里的正常行为是否适用,或者ES6模块中是否有特殊的名称空间导入?
根据我对规范的阅读,它将是模块命名空间外来对象(您已将其绑定到module示例中的名称)。换句话说,就是出口的袋子。因此,在您的示例中,我相信您可以调用x.fun()下一个语句。
据我所知...
模块命名空间对象将被设置为从评估12.3.2.1 运行时语义:评估MemberExpression中返回的引用的基值
该值将在12.3.4.1 运行时语义:评估this的算法的步骤 5.ai 中照常设置。
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |