【JavaScript入門】importで外部ファイルを読み込む方法

こんにちは!エンジニアのワカツキです!

モダンなJavaScript(ES6)でよく見かける、モジュールの「import」と「export」ですが、使い方を詳しく理解していますか?

今回はES6に導入された便利なモジュールを扱う上で基本となるimportについて、わかりやすく解説していきたいと思います!

importとは

ES6では、JavaScriptオブジェクトをモジュール化して管理できます。モジュール化を行うと、機能の再利用を行えるほか、保守性を高めたり、変数名が被ってしまうのを防ぐことができます。

importは、あるモジュールでエクスポートされた、関数オブジェクトプリミティブ値を別モジュール内にインポートするために使う文法です。

以下のように記述します。

import {モジュール名} from "インポート元"

【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

importの使いかた

モジュールにはdefaultモジュールnamed(名前付き)モジュールがあります。
これについては、次の「モジュールのexportを行う」の中で詳しく説明します。

まずは、default exportされたモジュールと、named exportされたモジュールの読み込みを行ってみましょう。

import {ModuleA, ModuleB} from "modules"; 
// ModuleAとModuleBというnamedモジュールをインポート
import Default from 'modules2'; 
// defaultモジュールとnamedモジュールを分けてインポート

1行目では、modulesというファイルから、ModuleAとModuleBという二つのnamedモジュールをインポートしています。
2行目では、modules2というファイルから、defaultモジュールをインポートしています。

以上が基本的なimportの書き方ですので、しっかりと覚えておきましょう。

モジュールのexportを行う

関数やオブジェクト、プリミティブ値をモジュールとしてエクスポートするためには、exportを使用します。

試しに、関数をdefault exportしてみましょう。

// alert.js
export default function () {
    alert("default module called!");
};

これで、デフォルトモジュールとしてエクスポートできました。

次に、named exportしてみましょう。

// utils.js
export function sum(x, y, z) {
    return x+y+z;
}

export function multiply(x, y) {
    return x*y;
}

sum、multiplyという名前のモジュールをエクスポートできました。
以下のように呼び出して、関数を利用できます。

import { sum, multiply } from 'utils'; // sumモジュールをインポート
console.log(sum(1, 2, 3));
console.log(multiply(5, 8));

実行結果:

-> 6
-> 40

importの注意点

・CommonJSとの区別
CommonJSは、主にウェブブラウザ環境外での使用を策定するためのプロジェクトです。こちらにもimportやexportを使用するモジュール機能があるので、混同しないように注意しましょう!

・複雑なモジュール構成は非推奨
Effective JavaScriptの著者・David Herman氏によると、モジュールは単一のdefaultのみでのエクスポートを推奨しており、named exportを使用する場合もなるべく簡単な構成にするべきだということです。


【何から学べばいいかわからない…そんな悩みを解決します!】

完全無料ですぐわかる「プログラミング学習プラン診断」

・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決

さっそく診断してみる

まとめ

いかがでしたか?
今回は、ES6のモジュール化で使われるimportexportの使い方について学習しました!

モジュール化はモダンなJavaScriptのコーディングで重要なポイントです。

今回学んだことを生かして、より良いJavaScriptのプログラムを書くように心がけましょう!

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

目黒のベンチャー企業ででフルスタックエンジニアをやっています!今はWEB・スマホアプリ開発をメインに、毎日、仕事+アウトプットを目標に日々過ごしています。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close