export和export default区别

exportexport default 是 JavaScript ES6 模块系统中用于导出模块成员的两个关键字。它们的主要区别如下:

  1. 导出数量
  • export:允许在一个模块中导出多个值(常量、函数、类等)。

  • export default:在一个模块中只能有一个默认导出。

  1. 导入语法
  • export:导入时需要使用花括号 {},并且需要指定导入的变量名与导出时的名称一致。

  • export default:导入时不需要花括号,可以直接使用导入的变量名,也可以使用 as 关键字为其指定别名。

  1. 使用场景
  • export:当你需要从一个模块中导出多个特定的值或函数时,使用 export

  • export default:当你希望为一个模块提供一个默认的输出值,或者输出的值不关心具体名称时,使用 export default

举例说明:

// 文件 a.js
export const str = "hello world"export function greet() {
  return "Hello!";
}

// 文件 b.js
import { str, greet } from "a"console.log(str); // 输出 "hello world"
console.log(greet()); // 输出 "Hello!"

// 文件 c.js
import defaultExport from "a"console.log(defaultExport); // 输出 "hello world"

需要注意的是,exportexport default 不可以同时使用在一个模块中。每个模块应该只选择其中一种方式来导出成员

Top