导出和导入

优质
小牛编辑
128浏览
2023-12-01

导出(export)和导入(import)指令有几种语法变体。

在上一节,我们看到了一个简单的用法,现在让我们来探索更多示例吧。

在声明前导出

我们可以通过在声明之前放置 export 来标记任意声明为导出,无论声明的是变量,函数还是类都可以。

例如,这里的所有导出均有效:

// 导出数组
export let months = ['Jan', 'Feb', 'Mar','Apr', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

// 导出 const 声明的变量
export const MODULES_BECAME_STANDARD_YEAR = 2015;

// 导出类
export class User {
  constructor(name) {
    this.name = name;
  }
}
导出 class/function 后没有分号

注意,在类或者函数前的 export 不会让它们变成 函数表达式。尽管被导出了,但它仍然是一个函数声明。

大部分 JavaScript 样式指南都不建议在函数和类声明后使用分号。

这就是为什么在 export classexport function 的末尾不需要加分号:

export function sayHi(user) {
  alert(`Hello, ${user}!`);
}  // 在这里没有分号 ;

导出与声明分开

另外,我们还可以将 export 分开放置。

下面的例子中,我们先声明函数,然后再导出它们:

//