ES6模块作用域

14 浏览
0 Comments

ES6模块作用域

我有以下代码:

// lib.js
var a = "a";
export var b = "b";
// main.js
console.log(a); // "a"变量在全局范围内不可用
import {b} from "lib";
console.log(a); // "a"变量在全局范围内可用还是只在模块范围内可用?

在模块导入后,我能否在全局范围内使用"a"变量,还是它只在模块范围内可用?ES6模块是否有类似的工作原理,就像这个技巧一样:

// module    
exports.module1 = (function(){ var a = "a"; })(); // "a"变量在全局范围内不可用

0