用模块封装代码

Friday, August 23, 2019

第十三章 用模块封装代码

模块的定义

模块代码自动运行在严格模式下,并且没有任何办法跳出严格模式,可以是函数,类,数据。

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)