美文网首页
22Module语法

22Module语法

作者: 我_巨可爱 | 来源:发表于2017-11-09 13:44 被阅读0次

概述

  1. CommonJS 是服务器模块加载规范,AMD 是浏览器模块加载规范
  • 前者,nodejs中requiremodule.exports
  • 后者,requireJS中requiredefined
  1. ES6 可以成为服务器和浏览器通用的模块加载方案
  • import {...} from ...export

严格模式

模块自动应用严格模式

  • 变量必须先声明后使用
  • 不能使用fn.callerfn.callee
  • 不能对evalarguments重新赋值
  • 不能使用delete删除变量,只能用来删除对象属性
  • 不能使用前缀0表示八进制
  • 禁止this指向全局对象
  • 添加保留字staticprotectedinterface

export

动态绑定

  1. 可以输出变量声明语句,函数定义等,不能直接输出值
  2. export 是和变量动态绑定,CommonJS 输出值的缓存
  3. as可以重命名,那么一个变量就可以输出多次
// 正确方法
export var a =1
export function fn() {}
// 错误方式
var a = 1
export a
function fn() {}
export fn
// 错误方式改变后
var a = 1
export {a}
function fn() {}
export {fn}

export default 默认输出

其实相当于输入一个default的变量,之后跟的值赋值给变量。在导出的时候,允许import使用任何变量承接

  1. 导出变量的时候,exportexport default情况刚好相反
  2. 导出函数的时候,export default可以导出匿名函数和函数定义
  3. 在导入的时候,也稍有不同,不在使用{}
// export 会报错的,export default 不会报错
var a = 1
export default a
// export default 报错
export default var a = 1

import 命令

静态执行

  1. import命令是在编译阶段执行的,因此先使用后引入是可以的。但是不能使用表达式和变量。
  2. import引入中的方法名必须和export导出的方法名一致
  3. 可以使用as重命名

整体加载

import * as all from ''

  1. 关键字*as
  2. 不允许运行时改变
  • wrong, all.foo = 'bar'

import 和 export 复合写法

作为了解,不深入

  1. 有些形式是不可以复合写的
export {foo,bar} from ""

模块的继承

  • 形式export * from ''
  • 其实相当于复合写法,先从文件中导入所有变量和方法,再全部导出
  • 这种形式会自动忽略文件中的export default

跨模块常量

  • 常量使用const
  • 其他形式和普通的模块相同,在需要使用的模块中引入即可

相关文章

  • 22Module语法

    概述 CommonJS 是服务器模块加载规范,AMD 是浏览器模块加载规范 前者,nodejs中require和m...

  • GO语言gin框架实战-04-websocket链接

    1. 升级接口 1.1 语法 - 升级接口 语法 语法示例 - 关闭 语法 语法示例 - 接收前端信息 语法 语法...

  • 软帝学院:80道java基础部分面试题(四)

    Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集...

  • JSON 语法

    JSON 语法是 JavaScript 语法的子集。 JSON 语法规则 JSON 语法是 JavaScript ...

  • art-template模板

    art-template同时支持两种模板语法:标准语法 和 原始语法 标准语法: {{ 数据 }}原始语法: <%...

  • Dart的一些语法糖(持续更新)

    语法糖 ?. 与 ?? dart 语法糖 ?. dart 语法糖 ??

  • dart语法7-泛型

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法8-库

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法10-生成器

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法9-异步

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

网友评论

      本文标题:22Module语法

      本文链接:https://www.haomeiwen.com/subject/ybhpmxtx.html