[TOC]

Class 的基本语法

class是语法糖,constructor对应构造方式,内部定义方法对应prototype
image.png

Class 的继承

子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类自己的this对象,必须先通过父类的构造函数完成塑造,得到与父类同样的实例属性和方法,然后再对其进行加工,加上子类自己的实例属性和方法。如果不调用super方法,子类就得不到this对象。image.png
作为函数时,super()只能用在子类的构造函数之中,用在其他地方就会报错。

Module 的语法

import是静态执行,区别于早期的require方式,早期是相当于在代码中生成一个镜像,考虑header的方式,把代码再写一遍,然后调用方法即调用镜像的方法。import是定义之初类型已经确定的模块,考虑Math模块使用。
image.png
import语句是 Singleton 模式
目前阶段,通过 Babel 转码,CommonJS 模块的require命令和 ES6 模块的import命令,可以写在同一个模块里面,但是最好不要这样做。因为import在静态解析阶段执行,所以它是一个模块之中最早执行的。下面的代码可能不会得到预期结果。
image.png

export default

可以在import时不用给定的名称,可以自己定义,把文件引入地址写对即可image.png
index.ts原理

跨模块常量

image.png

动态加载模块

Module 的加载实现

本章介绍如何在浏览器和 Node.js 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)

加载规则

浏览器加载 ES6 模块,也使用