import と export - JavaScript入門

f:id:utouto97:20210706233746p:plain

JavaScriptで外部ファイルから、関数やクラスを読み込むにはimportを使います。
また、importで読み込みをできるようにするには、exportを使って書きだす必要があります。

※ES2015(ES6)のお話です

JavaScriptで関数やクラスをimportで読み込む

JavaScriptで関数やクラスを読み込むには、importを使います。
importの使い方は簡単です。
以下に例を示します。

import { defineComponent } from "vue";
import { User } from "./user.js";
import * as Hello from "./hello.js";

一つ目は、vueがインストールされている環境で、vueからdefineComponentという関数を読み込んでいます。
二つ目は、カレントディレクトリに存在するuser.jsファイルからUserクラスを読み込んでいます。
三つめは、カレントディレクトリに存在するhello.jsファイル全体をHelloという名前で読み込んでいます。

このimport文の下で、defineComponentやUserは、通常の関数やクラスのように利用することができます。
また、hello.jsから読み込んだものについては、Hello.~という形で利用することができます。

JavaScriptで関数やクラスをexportで書きだす

外部ファイルから関数やクラスを読み込むにはimportを使います。
importで読み込まれる側のファイルでは、関数やクラスをexportを使って書きだす必要があります。

方法の一つとしては宣言時にexportをつけることで書きだす方法です。

export const SEED = 1234; // 定数の書き出し
export function hello(name) { // 関数の書き出し
  console.log('hello' + name);
};
export class User { 省略 }; // クラスの書き出し

また、宣言時以外にもexportを使うことで書きだすことはできます。

const SEED = 1234;
function hello(name) {
  console.log('hello' + name);
};
class User { 省略 };

export SEED;
export hello;
export User;

export default を使う

JavaScriptでは、デフォルトのexportを1ファイルに一つ設定できます。
方法はexportの後にdefaultをつけるだけです。
この場合、関数名やクラス名を省略することができます。

export default class { 省略 };

こうすると、import時に{}が不要になります。

import User from "./user.js";

また、importする側が名前を自由につけることができます。

import User2 from "./user.js";

終わり