目录
- 模块这里,先简简单单讲些语法吧
export、import
- 导出单个变量
- 导出多个变量
- 导出数组
- 整合导出
- 默认导出
- 导出函数
- 导出对象
- 导出类
- 多变量多类导出
- ES6-ES10学习幅员
模块这里,先简简单单讲些语法吧
export、import
应用export、import语法,记得要进行babel编译
导出单个变量
// A.jsexport const name = 'hello'// B.jsimport {name} from './A'console.log(name) // hello
导出多个变量
// A.jsexport const name = 'hello'export let addr = 'beijing'// B.jsimport { name, addr } from './A'console.log(name, addr)// hello beijing
导出数组
// A.jsexport const list = [1, 2, 3]// B.jsimport { list } from './A'console.log(list)// [1, 2, 3]
整合导出
// A.jsconst name = 'hello'let addr = 'beijing'const list = [1, 2, 3]export { name, addr, list}// B.jsimport { name, addr, list } from './A'console.log(name, addr, list)// hello beijing [1, 2, 3]
默认导出
只能有一个默认导出,其余的都要放如对象前面去
// A.jsconst name = 'hello'let addr = 'beijing'const list = [1, 2, 3]export default nameexport { addr, list}// B.jsimport name, { addr, list } from './A'console.log(name, addr, list)// hello beijing [1, 2, 3]// C.js// 如果想要间接改名字,须要默认导出的变量才行import name2 from './A'console.log(name2)// hello// D.js// 不是默认导出的变量,批改名字就须要用asimport { addr as addr2 } from './A'console.log(addr2)// beijing
导出函数
// A.jsexport function say (content) { console.log(content)}// B.jsimport {say} from './A'say("helloword")// helloword
导出对象
默认导出
// A.jsexport default { code: 1, message: 'success'}// B.jsimport obj from './A'console.log(obj)
变量模式
// A.jsconst data = { code: 1, message: 'success'}const info = { name: 'xm', age: 16}export default { data, info}// B.jsimport { data, info } from './A' // 报错,引入抵触// 只能整体导入再结垢赋值import obj from './A'let { data, info } = objconsole.log(data, info)// {code: 1, message: "success"} {name: "xm", age: 16}
导出类
// A.jsclass Test { constructor () { this.id = 2 }}export { Test}// B.jsimport {Test} from './A'let test = new Test()console.log(test.id) // 2
or
export class Test { constructor () { this.id = 4 }}
默认导出类
// A.jsclass Test { constructor () { this.id = 3 }}export default Test// B.jsimport Test from './A'let test = new Test()console.log(test.id) // 3
or
export default class Test { constructor () { this.id = 4 }}
or
// 如果是default就不必写类名了,没有default必须写类名export default class { constructor () { this.id = 5 }}
多变量多类导出
// A.jsclass Test { constructor () { this.id = 3 }}class Ani { constructor () { this.name = 'animal' }}export { Test, Ani}export default class People{ constructor () { this.id = 123 }}// B.jsimport * as Mod from './A'let test = new Mod.Test()console.log(test.id) // 3let ani = new Mod.Ani()console.log(ani.name) // animal// 只能用default来获取默认的类,不能应用Peoplelet people = new Mod.default()console.log(people.id) // 123