ES6的 import 和 export 用法总结

本文详细介绍了ES6中import和export的三种常见用法:显式导出变量、汇总导出和默认导出。通过实例演示了如何正确使用并理解这些导出方式,以及与Node.js模块出口的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 es6中把 import 和 export 的内容都当成模块看待。export 通常有以下 3种 写法。

第1种:export 显式声明的变量

1.同一文件中,可写多次 export

2.导出的变量 必须是显式声明的

例如 export {a: 1} 或 export [1, 2, 3] 都是语法错误的,这种写法 其实是导出 某个值,往下会说明。

//lib.js
export const num = 1;
export const arr = [ 1, 2, 3 ];
export const obj = { a: 1 };

//xxx.js
import {num, arr, obj} from './lib';

第2种 :export 汇总变量

1.同一文件中,可写多次 export

2.导出的变量 不一定 显式声明的

注意:与第1种效果其实是一样的主要用于 汇总导出多个子文件的场景

场景一
//lib.js
const num = 1;
const arr = [ 1, 2, 3 ];
const obj = { a: 1 };

export {num, arr, obj};
export str = 'hello';

//xxx.js
import {num, arr, obj, str as newStr} from './lib'; //还可使用 as关键字 定义别名

console.log(newStr); //输出 'hello'
console.log(str); //报错,str未定义,因为已改为 newStr

场景二(常用)
//lib.js
import Button1 from './Button1';
import Button2 from './Button2';
import Button3 from './Button3';

export { Button1, Button2 }; //正确
export Button3; //错误,编译器会认为 Button3 未声明

//xxx.js
import {Button1, Button2} from './lib';

第3种:export default 值 

1.同一文件中,export default xxx 只能写一次

2.导出的是某个值,而不是变量

//lib-1.js
export const arr = [1, 2, 3];
export default { a: 1, b: 2 };

//lib-2.js
export default 'hello';

//xxx.js
import obj, {arr} from './lib-1';
import str from './lib-2';

console.log(obj); //输出 {a: 1, b: 2}
console.log(arr); //输出 [1, 2, 3]
console.log(str); //输出 'hello'

注意:
由于导出的是 某个值,所以import时 必须用 变量名 去接。
而只有当导出的是 显式变量名 时,import才能用 解构赋值 的写法。

最后注意一点,关于 导出 你肯定还见过 module.exportsexports,这是 Node.js 的语法,不是 ES6 的,千万别搞混了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值