export default {} 和 export {} 的区别
在JavaScript ES6模块系统中,export default {} 和 export {} 有明显的区别:
1. export default {}:
这个语法用于导出一个默认的模块成员,它可以是一个对象、函数、类等。
当导入时,可以使用任何名称来引用这个默认导出的成员,或者不指定名称直接导入。
每个模块只能有一个 export default,并且它不需要与被导出的变量名相同。
示例:
// 导出文件 (export.js)
const myDefaultObject = { key: 'value' };
export default myDefaultObject;
// 导入文件 (import.js)
import MyImportedObject from './export.js'; // 可以任意命名
console.log(MyImportedObject.key); // 输出 "value"
2. export {}:
这是命名导出(Named Exports),用于导出多个具有明确标识符的对象、函数或类。
在导出时,你需要为每个导出项提供一个具体的名称。
导入时需要按照导出时声明的名称来引入。
示例:
// 导出文件 (export.js)
const myVariable = 'hello';
function myFunction() {}
class MyClass {}
export { myVariable, myFunction, MyClass };
// 导入文件 (import.js)
import { myVariable, myFunction } from './export.js';
console.log(myVariable); // 输出 "hello"
// 使用导出的函数
myFunction();
总结一下:
export default 用于单个默认导出项,且导入时可自定义名称。
export 命名导出用于导出多个具体标识符的成员,导入时需按原名引用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2022-03-13 [CosmWasm] 安装 Rust 和 wasm32 (Linux & Mac)
2022-03-13 [Rust] 在 Linux 和 Mac 安装 Rust
2021-03-13 [Cryptocurrency] (XMR) Monero GUI 连接远程节点 操作方式
2020-03-13 [Contract] Solidity 合约使用 truffle 部署到测试网和主网