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的对象,并向其添加了name、age属性和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 = {...}等方式。但是在上面的示例中使用了ES6的export default语法来导出默认对象,这是一种常见的方式。

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

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

当我们在编写模块时,需要向外部暴露一些内容,以便其他模块可以引入并使用。这时就可以使用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类引入,并分别使用它们。

二、最后

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

相关推荐
IT_陈寒17 分钟前
SpringBoot自动配置坑了我一把,原来是这样绕过去的
前端·人工智能·后端
广州华水科技18 分钟前
单北斗GNSS变形监测在大坝安全监测中的应用与优势
前端
zeng不错33 分钟前
B站 173 个投稿活动看到眼瞎?我写了个扩展,主打一个精准打击
前端
Latchh35 分钟前
前端导出的JPEG红字发糊,质量要拉到100才清楚
前端·图像处理·人工智能·计算机视觉
默_笙1 小时前
🚦 请三个 AI 考官给 RAG 打分:量化评估实战(下)
前端·javascript
阿坨1 小时前
灵感闪存卡:一款 Tampermonkey用户脚本
javascript·tampermonkey
Joy T1 小时前
聊天系统中五大ID的演进与实战解析
java·前端·人工智能·spring·agent入门
Seraphina363 小时前
DVWA(SQL注入-low,medium,XSS反射-low)
前端·数据库·笔记·sql·网络安全·web·xss
Access开发易登软件3 小时前
Access 导入 Markdown 表格:把文档里的数据写进表
前端·html·vba·markdown·access开发
朝朝辞暮i3 小时前
C++ 第 25 课:getter / setter + this
java·javascript·c++