Kir*_*tov 22 javascript module ecmascript-6
我有代码:
// lib.js
var a = "a";
export var b = "b";
// main.js
console.log(a); // "a" variable is not available in a global scope
import {b} from "lib";
console.log(a); // is "a" variable available in a global scope or only in a module scope?
Run Code Online (Sandbox Code Playgroud)
我可以在模块导入后在全局范围内使用"a"变量,还是仅在模块范围内可用?ES6模块是否具有类似这样的工作原理:
// module
exports.module1 = (function(){ var a = "a"; })(); // "a" variable is not available in a global scope
Run Code Online (Sandbox Code Playgroud)
Fel*_*ing 28
我可以在模块导入后在全局范围内使用"a"变量,还是仅在模块范围内可用?
它仅在声明的模块内可用.
ES6模块是否具有类似的工作原理:[...]
基本上是的.
ES6有这些范围,从"顶部"到"底部"的顺序:
您可以globalThis.a = "a"在该模块加载后执行并访问它。请参阅:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis