在 JavaScript 中,模块是重要的组织方式。通过将代码拆分成多个模块,不但可以提高代码的可读性和维护性,还可以实现代码的复用。
在模块中,我们通常需要将某些变量或函数暴露给其它模块使用。这就需要用到模块的出口(export)和出口让(export default)。
出口
一个模块可以有多个出口,每个出口都对应一个标识符和其所代表的值。出口可以是变量、函数、类等任何 JavaScript 对象。
// 定义模块 const PI = 3.14; function square(x) { return x * x; } export { PI, square };
在另一个模块中,我们可以通过 import 语句来引入这些出口:
// 引入模块 import { PI, square } from './mymodule.js'; console.log(PI); // 输出 3.14 console.log(square(2)); // 输出 4
出口让
除了使用出口之外,我们还可以使用出口让来导出默认值。每个模块只能有一个出口让。
// 定义模块 export default function add(x, y) { return x + y; }
在另一个模块中,我们可以通过 import 语句来引入这个出口让:
// 引入模块 import myAdd from './mymodule.js'; console.log(myAdd(1, 2)); // 输出 3
const
在 JavaScript ES6 中,我们还可以使用 const 关键字来定义常量。常量定义后不可再次赋值。
const PI = 3.14; PI = 3.14159; // 错误:Assignment to constant variable.
使用 const 定义的变量具有块级作用域。
if (true) { const x = 10; } console.log(x); // 错误:x is not defined
总结
通过出口和出口让,我们可以很方便地将模块中的变量、函数等暴露给其它模块使用。使用 const 可以定义常量并保证其不再被修改。这些特性都是 JavaScript ES6 中非常实用和重要的语言特性,既有深度又有学习和指导意义。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/11783