Module的语法

本文详细介绍了JavaScript的模块系统,包括Module的静态化特性、export和import命令的使用、默认导出与复合写法、模块的整体加载、模块继承以及动态加载import()的用法。重点讲解了export命令创建对外接口,import命令输入接口的规则,以及它们在严格模式下的行为。
摘要由CSDN通过智能技术生成

参考文档:https://es6.ruanyifeng.com/#docs/module#export-%E5%91%BD%E4%BB%A4

1. 概述

  • 模块体系:CommonJS、AMD、ES6模块(Module)
  • Module:静态化,编译时确定模块依赖关系、输入、输出
  • 其他:运行时确认依赖关系
    • CommonJS:对象,运行时加载

2. 严格模式

  • Module自动采用严格模式
    • 顶层this指向undefined

3. export命令

  • 对外接口
  • 实质: 接口名与模块内部变量间,建立了一对一的关系
  • 接口与值:动态绑定关系
//正确写法
export var n = 1
var m = 1
export {
   m}
export {
   m as n}

//错误写法
export 1
var m = 1	
var f = ()=>{
   }
export m		//非接口
export f		//非接口
export function(){
   }	//非接口

4. import命令

  • 输入接口
  • 接受大括号,里面含有其他模块导入的变量名
  • as关键字
  • from后可为相对或绝对路径,.js后缀可省略
  • 输入变量只读
import {
   a} from './file'
import {
   a as b} from './file'
b = {
   }		//报错
  • 静态执行
    • import在编译时执行
    • 提升效果
    • 不能用于表达式、变量、if等语句
  • import可只用于加载模块(不做输入)
  • Singleton (单例模式,只执行一次)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值