ES6自定义模块

在ES6中,我们可以使用 exportimport 关键字来定义和使用自定义模块。

定义模块

导出(export)
  1. 命名导出(Named Exports)

    使用 export 关键字来导出模块中的变量、函数、类等。例如:

    javascript 复制代码
    // mathUtils.js
    export const sum = (a, b) => a + b;
    export const subtract = (a, b) => a - b;

    这里我们导出了 sumsubtract 函数。

  2. 默认导出(Default Export)

    使用 export default 关键字可以导出模块的默认值,一个模块只能有一个默认导出。例如:

    javascript 复制代码
    // utils.js
    const multiply = (a, b) => a * b;
    export default multiply;

    这里我们默认导出了 multiply 函数。

使用模块
导入(import)

使用 import 关键字来引入其他模块导出的内容。

  1. 命名导入(Named Imports)

    引入命名导出的变量、函数等。例如:

    javascript 复制代码
    // app.js
    import { sum, subtract } from './mathUtils';
    
    console.log(sum(5, 3)); // 输出 8
    console.log(subtract(5, 3)); // 输出 2
  2. 默认导入(Default Imports)

    引入默认导出的内容。例如:

    javascript 复制代码
    // app.js
    import multiply from './utils';
    
    console.log(multiply(5, 3)); // 输出 15
  3. 混合导入(Mixing Named and Default Imports)

    可以同时导入命名导出和默认导出。例如:

    javascript 复制代码
    // app.js
    import multiply, { sum } from './utils';
    
    console.log(sum(5, 3)); // 输出 8
    console.log(multiply(5, 3)); // 输出 15

注意事项

  • exportimport 必须在顶层作用域使用,不能嵌套在函数或条件语句中。
  • 导入路径可以是相对路径或者绝对路径。
  • 模块的导出和导入是静态的,意味着在编译阶段就确定了导入模块的内容。

使用ES6模块系统能够帮助我们更好地组织和管理JavaScript代码,提高代码的可维护性和可重用性。

相关推荐
程序员爱钓鱼1 小时前
Go操作Excel实战详解:github.com/xuri/excelize/v2
前端·后端·go
子兮曰10 小时前
async/await高级模式:async迭代器、错误边界与并发控制
前端·javascript·github
恋猫de小郭10 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
GIS之路12 小时前
ArcGIS Pro 中的 Notebooks 入门
前端
IT_陈寒13 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
Kagol14 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉14 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau14 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生14 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼14 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范