是否有一个等同于`window`的es6模块范围?

Jar*_*rad 4 javascript scope ecmascript-6

在Javascript中,我们可以使用window对象在任何点添加全局变量:

'use strict';
var a = 1;

function test() {
  window.b = 2;
}

test();
console.log(a); // a
console.log(b); // b
Run Code Online (Sandbox Code Playgroud)

是否有类似(或非类似!)的方式将vars分配给ES6中的当前模块范围?

谢谢

Fel*_*ing 7

模块环境包含所谓的声明性环境记录:

模块Environment Record是一个声明性环境记录,用于表示ECMAScript模块的外部范围.

与由对象环境记录组成的全局环境相反:

每个对象环境记录都与称为其绑定对象的对象相关联.对象Environment Record绑定直接对应于其绑定对象的属性名称的字符串标识符名称集.


就像功能环境(它们也是声明性的)一样,无法从另一个范围访问范围.