export用于命名导出变量、函数、类等,需有名称且导入时用对应名;支持声明时导出或先声明后批量导出,可重命名;不可导出字面量或匿名函数。

在 JavaScript 中,export 关键字用于将变量、函数、类等从模块中对外暴露,供其他模块通过 import 引入使用。导出单个变量或函数最常用的是命名导出(named export),语法简洁明确。
直接在声明时导出
这是最直观的方式:在 let、const、function 等声明前加上 export:
export const PI = 3.14159;export function greet(name) { return `Hello, ${name}`; }export class Calculator { ... }
这种方式导出的成员必须有名字(不能导出匿名函数或字面量表达式),且导入时需用对应名称,例如:import { PI, greet } from './math.js';
先声明再统一导出
适合需要复用或条件判断的场景。先正常声明,再用 export { ... } 批量导出:
const API_URL = 'https://api.example.com';function fetchData() { ... }export { API_URL, fetchData };
也可重命名导出:export { fetchData as load }; ,导入时就用 load。
注意点
以下写法是错误的:
-
export 42;(不能导出字面量) -
export function() { ... };(匿名函数无名可导) -
export let count = 0; count++;(导出后修改值不影响其他模块获取的初始值,因为导出的是绑定,不是拷贝)
如果想导出一个默认值(如单个主要函数),应使用 export default,但那属于默认导出,和命名导出语义不同。


















