JavaScript中的export和import

文章目录

一、前言

要使用一个JavaScript文件自定义一个对象并将其导出,可以按照以下步骤进行:

1.1、创建JavaScript文件

创建一个JavaScript文件,例如myObject.js

1.2、定义自定义对象

myObject.js文件中定义一个自定义对象。可以使用下面的代码作为示例:

javascript 复制代码
// 定义自定义对象
const myObject = {
  name: 'John',
  age: 25,
  sayHello() {
    console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
  }
};

// 导出自定义对象
export default myObject;

上述代码中定义了一个名为myObject的对象,并向其添加了nameage属性和sayHello()方法。然后使用export default关键字将该对象导出。

1.3、引入自定义对象

在其他文件中引入这个对象。可以使用以下代码:

javascript 复制代码
// 引入自定义对象
import myObject from './myObject.js';

// 使用自定义对象
console.log(myObject.name); // 输出:John
console.log(myObject.age); // 输出:25
myObject.sayHello(); // 输出:Hello, my name is John and I'm 25 years old.

在上面的代码中,使用import关键字来引入myObject.js文件导出的默认对象。然后就可以使用该对象的属性和方法进行操作。

需要注意的是,在导出自定义对象时可以使用多种方式,例如使用export const myObject = {...}module.exports = {...}等方式。但是在上面的示例中使用了ES6export default语法来导出默认对象,这是一种常见的方式。

二、考察知识点:JavaScript 中的 export

exportES6中的一个关键字,用于将变量、函数、类等导出为模块的接口,供其他模块使用。

当我们在编写模块时,需要向外部暴露一些内容,以便其他模块可以引入并使用。这时就可以使用export关键字来导出需要暴露的内容。

JavaScript 中的export语法有两种形式:命名导出默认导出

2.1、命名导出

命名导出是指通过给变量、函数、类等赋予一个名称,并使用export关键字将其导出。例如:

javascript 复制代码
// 导出变量
export const PI = Math.PI;

// 导出函数
export function sayHello(name) {
  console.log(`Hello, ${name}!`);
}

// 导出类
export class Person {
  constructor(name) {
    this.name = name;
  }
  sayHi() {
    console.log(`Hi, I'm ${this.name}`);
  }
}

上面的代码中分别导出了一个常量PI、一个函数sayHello和一个类Person。在导出时使用export关键字将它们命名为模块的接口,以便其他模块引入并使用。

2.2、默认导出

默认导出是指当模块只需要导出一个变量、函数或类时,可以使用默认导出。需要注意的是,一个模块只能有一个默认导出。例如:

javascript 复制代码
// 导出默认值
export default function add(x, y) {
  return x + y;
}

// 导出默认值
export default class Person {
  constructor(name) {
    this.name = name;
  }
  sayHi() {
    console.log(`Hi, I'm ${this.name}`);
  }
}

// 导出默认值
const obj = {
  name: 'John',
  age: 25
};
export default obj;

上面的代码中分别导出了一个函数add、一个类Person和一个对象obj。在导出时使用export default关键字将它们作为模块的默认接口暴露出去,以便其他模块引入并使用。

另外,在使用导出模块的接口时,可以使用import关键字将模块引入,并通过解构赋值等方式获取需要的接口。例如:

javascript 复制代码
// 引入模块
import { PI, sayHello, Person } from './myModule.js';

// 使用模块接口
console.log(PI); // 输出:3.141592653589793
sayHello('Tom'); // 输出:Hello, Tom!
const person = new Person('John');
person.sayHi(); // 输出:Hi, I'm John

在上面的代码中,使用import关键字将myModule.js模块中的PI常量、sayHello()函数和Person类引入,并分别使用它们。

二、最后

本人每篇文章都是一字一句码出来,希望对大家有所帮助,多提提意见。顺手来个三连击,点赞👍收藏💖关注✨,一起加油☕

相关推荐
掘金安东尼2 分钟前
⏰前端周刊第 458 期v2026.3.24
前端·javascript·面试
前端付豪15 分钟前
实现必要的流式输出(Streaming)
前端·后端·agent
张元清17 分钟前
useMediaQuery:React 响应式设计完全指南
前端·javascript·面试
小金鱼Y18 分钟前
一文吃透 JavaScript 防抖:从原理到实战,让你的页面不再 “手抖”
前端·javascript·面试
Z兽兽21 分钟前
React 18 开发环境下useEffect 会执行两次,原因分析及解决方案
前端·react.js·前端框架
紫_龙23 分钟前
最新版vue3+TypeScript开发入门到实战教程之Vue3详解props
前端·vue.js·typescript
树上有只程序猿29 分钟前
这波低代码热,能维持多久
前端
姓王名礼35 分钟前
这是一个完整的全栈交付包,包含Vue3 前端交互界面(集成数字人视频流、ECharts 图表、语音对话)和Docker Compose 一键部署脚本。
前端·docker·echarts
嵌入式-老费39 分钟前
vivado hls的应用(axis接口)
前端·webpack·node.js
孟陬1 小时前
国外技术周刊第 2 期 — 本周热门 🔥 YouTube 视频 TED 演讲 AI 如何能够拯救(而非摧毁)教育
前端·后端·程序员