ECMAScript6:模块

来自CloudWiki
Cloud17讨论 | 贡献2021年1月31日 (日) 08:54的版本 (创建页面,内容为“一个模块通常是一个独立的JS文件,该文件内部定义的变量和函数除非被导出,否则不能被外部所访问。 使用export关键字放…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

一个模块通常是一个独立的JS文件,该文件内部定义的变量和函数除非被导出,否则不能被外部所访问。

使用export关键字放置在需要暴露给其他模块使用的变量、函数或类声明前面。

定义模块

Modules.js:

// 导出数据
export var color = "red";
export let name = "module";
export const sizeOfPage = 10;

// 导出函数
export function sum(a, b){
	return a + b;
}

// 将在模块末尾进行导出
function subtract(a, b){
	return a - b;
}

// 将在模块末尾进行导出
function multiply(a, b){
	return a * b;
}

// 将在模块末尾进行导出
function divide(a ,b){
	if(b !== 0)
		return a / b;
}
// 导出类
export class Car {
	constructor(sColor, iDoors){
		this.color = sColor;
		this.doors = iDoors;
	}
	showColor(){
		console.log(this.color);
	}
}
// 模块私有的变量
var count = 0;
// 模块私有的函数
function changeCount(){
	count++;
}
/*
// 导出multiply函数
export {multiply};
// subtract是本地名称,sub是导出时使用的名称
export {subtract as sub}
// 导出模块默认值
export default divide;

注意:

  • 没有添加export关键字而定义的变量、函数和类在模块外是不允许被访问的
  • 一个模块可以导出且只能导出一个默认值