第十三章 用模块封装代码
模块的定义
模块代码自动运行在严格模式下,并且没有任何办法跳出严格模式,可以是函数,类,数据。
const obj = {}
const sum = (value) => value + 1
class A extends B {}
模块的导出
加入 export 关键字。
export const obj = {}
export const sum = (value) => value + 1
export class A extends B {}
导出默认模块,每个模块只能设置一个默认导出。
export default sum
模块的引用
使用 import 关键字 {需要导入的模块} from ‘js 的路径’。
import { obj, sum, A } from './xx.js'
console.log(sum(2)) // 3
引用默认导出,不需要使用花括号,可以自定义参数名(sum)。
import sum from './xx.js'
默认导出是匿名函数也可以直接命名
import sum, { obj, a } from 'xx.js'
修改模块导入和导出名
使用 as 关键字,导入和导出都能修改。
const obj ={};
export(obj as object);
import { object } from 'xx.js'
import { object as obj } from 'xx.js'
console.log(obj)