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类引入,并分别使用它们。

二、最后

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

相关推荐
a1117762 小时前
粒子化系统(3D-Particles)THreeJS react
前端·html·jetson
码农君莫笑2 小时前
深入理解 CSS Grid 布局:从入门到实战
前端·css
睡觉的时候不困62 小时前
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
javascript
AI英德西牛仔2 小时前
Claude 导出 pdf 颜色不一样怎么办,选用 AI 导出鸭优化格式转换,多维度落地修正 PDF 色彩失真问题
javascript·人工智能·ai·chatgpt·pdf·deepseek·ai导出鸭
yingyima2 小时前
Azure Functions 定时触发器配置:Cron vs. TimerTrigger,谁主沉浮?
前端
TeamDev2 小时前
JxBrowser 9.1.1 版本发布啦!
java·前端·chromium·混合应用·jxbrowser·嵌入式浏览器·浏览器控件
爱勇宝2 小时前
如何评估 AI 大模型的商业价值?
前端·后端·程序员
右耳朵猫AI3 小时前
JS/TS周刊2026W21 | Deno2.8RC、Angular22RC、TypeORM1.0
开发语言·javascript·ecmascript
风吹夏回3 小时前
TypeScript 快速上手指南:从 JavaScript 到类型安全
javascript·ubuntu·typescript
蜡台3 小时前
UniApp WebView 组件宽高设置与动态适配全方案
前端·javascript·uniapp·webview·iframe