ES6模块

模块使程序代码有了结构化的管理,提高代码的可维护性以及可重用性。

必须显式的导出模块,别的地方才能访问该模块

关键字import和export就分别代表导入和导出

export:导出功能

可以导出一个单独的变量或者函数

export const name = 'zjf'
export function sayHello() {
    console.log('Hello');
}
或者
function sayHello() {
    console.log('Hello');
}
export sayHello;

可以一次导出多个变量和函数

const name = 'zjf'
function sayHello() {
    console.log('Hello');
}
export {name, sayHello};

import:导入功能

可以从模块中导入一个或多个绑定,一定要用{}包裹(除非是默认导出default)

import {sayHello} from 'hello.js'
import {name, sayHello} from './hello.js'
//并且你可以使用导入的变量或函数
sayHello();
注意:但是不能给绑定的函数赋新值
sayHello = 'hello';    //报错

如果想导入模块的所有绑定

可以使用 * as name(自定义名,可以作为导入后整个对象的名称) 

import * as example from 'hello.js';

默认导出export default和默认导入

//如果是默认导出,该绑定(函数)就会成为模块的默认代表,唯一,当模块只需要导出一个函数或类,或者重要的代码,会经常被使用
function sayHello() {
    console.log('hello');
}
export default sayHello;
//默认导出不会影响到别的导出,只是导入的时候需要区别对待
export const name = 'zjf';

导入默认不需要{},可以直接使用,因为默认值已经代表了模块的任何默认函数

export const name = 'zjf'
export default sayHello() {
    console.log('Hello');
}
//注意:默认值必须放在非默认值前面
import hello,{name} from './hello.js'

export和import时使用重命名,避免命名冲突

//as后面的作为导出后的名称
export {sayHello as nihao}
//as后面的作为导入后的名称
import {nihao as sayHello} from './hello.js'

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值