ES6名称空间导入:"this"的行为

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模块中是否有特殊的名称空间导入?

JMM*_*JMM 2

根据我对规范的阅读,它将是模块命名空间外来对象(您已将其绑定到module示例中的名称)。换句话说,就是出口的袋子。因此,在您的示例中,我相信您可以调用x.fun()下一个语句。

据我所知...