ES6模块化导出(export)、导入(import)的几种书写方式

1. 导出单个特性

a.js中导出:

// 导出一个变量
export let name = 'Jack';
// 导出一个函数
export function numProduct(num1, num2) {
  return num1 * num2;
}
// 导出一个类
export class Person {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
  calcArea() {
    return this.height * this.width;
  }
}

b.js中导入及应用:

import { name, numProduct, Person } from './a.js';  // {}中的变量名要与export导出的变量名保持一致
console.log(name);  // Jack
console.log(numProduct(1, 7));  // 7
let p = new Person(10, 20);
console.log(p.height, p.width, p.calcArea());  // 10 20 200


// 导出的变量较多时可以使用*通配符代替变量名
import * as all from './a.js';
console.log(all);

console.log(all.name);
console.log(all.numProduct(1, 7));
let p = new all.Person(10, 20);
console.log(p);
console.log(p.height, p.width, p.calcArea());

2. 先定义再导出

a.js中导出:

let flag = true;
function sum(num1, num2) {
  return num1 + num2
}

if (flag) {
  console.log(sum(1, 2));
}

export {
  flag,
  sum
}

 b.js中导入及应用:

import { flag, sum } from './a.js';  // {}中的变量名要与export导出的变量名保持一致

console.log(flag);  // true
if (flag) {
  console.log(sum(100, 200));  // 300
}

3. 重命名导出

a.js中导出:

export { flag as isShow, sum as count}

b.js中导入: 

import { isShow, count } from './a.js';

4. 导出默认值export default(只能有一个)

a.js中导出:

const x = 1024;
export default x;

b.js中导入,不需要与export default后面的名称保持一致,导入者可以直接重命名:

import y from './a.js';  // 此处的变量名不加{}
console.log(y);  // 1024

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值