在JavaScript中,export
关键字的主要用途是将模块中的变量、函数、类等导出,使其可以在其他文件或模块中被引用和使用。
具体来说,export
关键字有以下几种使用方式:
-
导出变量或常量:您可以使用
export
关键字导出一个变量或常量,以便在其他文件中使用。例如:// module.js export const PI = 3.14159; export let name = 'John';
-
导出函数:您可以使用
export
关键字导出一个函数,以便在其他文件中调用。例如:// utils.js export function greet(name) { console.log(`Hello, ${ name}!`); }
-
导出类:您可以使用
export
关键字导出一个类,以便在其他文件中实例化和使用。例如:// person.js export class Person { constructor(name) { this.name = name; } greet() { console.log(`Hello, my name is ${ this.name}`); } }
-
默认导出:除了上述的命名导出(named export),您还可以使用
export default
语法来导出一个默认值,每个模块只能有一个默认导出。例如:// math.js export default function add(a, b) { return a + b; }
以上只是一些常见的使用情况,export
关键字的灵活性使您可以根据需要导出任何类型的数据。通过使用import
关键字,其他文件可以导入并使用这些导出的内容。
例如,在另一个文件中引用上述导出的变量、函数或类:
// main.js
import {
PI, name } from './module.js';
import {
greet } from './utils.js';
import {
Person } from './person.js';
import add from './math.js';
console.log(PI); // 输出:3.14159
console.log(name); // 输出:'John'
greet('Alice'); // 输出:Hello, Alice!
const person = new Person('Bob');
person.greet(); // 输出:Hello, my name is Bob
console.log(add(2, 3)); // 输出:5
通过export
和import
机制,模块化的JavaScript代码可以更好地组织、复用和维护。
如果想直接运行,还需要创建一个package.json文件
// package.json
{
"name": "your-package",
"type": "module"
}
然后终端运行
node main.js
输出:
chunk@chunk-ThinkPad-X1-Carbon-5th:/tmp/1$ node main.js
3.14159
John
Hello, Alice!
Hello, my name is Bob
5