09 ES6的模块化语法

ECMAScript 6(简称ES6)是JavaScript语言的下一代标准,其中引入了许多新特性,包括模块化语法。ES6的模块化语法允许开发者将代码分割成独立的模块,每个模块可以包含变量、函数和其他资源,并且可以在不同的文件中进行导入和导出。

导出模块(Export)

在ES6中,可以使用export关键字来导出模块中的成员。有几种不同的导出方式:

  1. 默认导出 :每个模块只能有一个默认导出,使用default关键字。

    javascript 复制代码
    // math.js
    export default function add(x, y) {
      return x + y;
    }
  2. 命名导出 :可以导出多个命名成员,使用export关键字。

    javascript 复制代码
    // constants.js
    export const pi = 3.14;
    export const e = 2.71;
  3. 重命名导出:在导出时可以给变量或函数重命名。

    javascript 复制代码
    // utils.js
    export { pi as PI, e as E };
  4. 批量导出 :可以使用*来批量导出所有成员。

    javascript 复制代码
    // all.js
    export * from 'constants';

导入模块(Import)

使用import关键字来导入模块的成员。同样有几种不同的导入方式:

  1. 默认导入:导入模块的默认成员。

    javascript 复制代码
    // main.js
    import add from './math';
    console.log(add(1, 2)); // 输出 3
  2. 命名导入:导入模块的命名成员。

    javascript 复制代码
    // main.js
    import { PI, E } from './constants';
    console.log(PI, E); // 输出 3.14, 2.71
  3. 重命名导入:在导入时可以给变量或函数重命名。

    javascript 复制代码
    // main.js
    import { PI as Pi, E as E } from './constants';
    console.log(Pi, E); // 输出 3.14, 2.71
  4. 批量导入 :可以使用* as语法来批量导入所有成员,并给它们指定一个对象。

    javascript 复制代码
    // main.js
    import * as Utils from './utils';
    console.log(Utils.pi, Utils.e); // 输出 3.14, 2.71
  5. 导入模块的默认成员:即使模块有命名导出,也可以导入其默认成员。

    javascript 复制代码
    // main.js
    import add from './math';

注意事项

  • 模块文件通常使用.js扩展名。
  • 模块路径可以是相对路径或绝对路径,也可以是npm包名。
  • 使用import和export时,模块必须在文件的顶层声明,不能在函数或代码块内部。
  • 模块加载是惰性的,只有在实际使用时才会加载。

ES6的模块化语法使得JavaScript代码更加模块化和可维护,是现代JavaScript开发中不可或缺的一部分。

相关推荐
@大迁世界20 小时前
Firefox 本地模式:localhost 再见了 ?
前端·架构
Cosolar21 小时前
不收费、不加水印、数据归你:我做了个开源的在线简历工具
后端·面试·前端框架
米米商聊1 天前
同名附件为什么被 Map 覆盖?重复键与一对多索引
前端·javascript
行走的陀螺仪1 天前
【转型攻略】2026 年,后端 / 全栈工程师转 AI Agent 方向:能力地图、按周学习路线与面试要点
人工智能·面试·职场和发展
echome8881 天前
Python 异常处理:try、else、finally 的正确搭配
开发语言·前端·python·异常处理·编程技巧
时间的情敌1 天前
OpenLayers 实战|Vue3 + OpenLayers 完整工程案例(加载天地图、要素、弹窗、绘制、WFS)
前端·openlayers
陈随易1 天前
下载神器!Motrix 停更三年后重写回归
前端·后端·程序员
考研保研资料分享1 天前
法学保研中国人民大学诉讼法:英语讨论、辩论与两校笔试
面试
前端的日常1 天前
一个人+AI做情侣食谱小程序,0 费用的服务器
前端·后端
计算机魔术师1 天前
谷歌搜索广告踩刹车,AI广告成为救命稻草
前端