コース一覧
非同期JavaScript:API通信とモジュール
named export と default export

非同期JavaScript:API通信とモジュール

Promise と async/await、非同期エラー、HTTP/REST、fetch による GET、読み込み・成功・失敗の表示、モジュールの読み方を学ぶ全 19 レッスン(380 分)のコースです。最後は承認済みの読み取り専用 API から作品データを取得して表示します。POST はリクエストの組み立てまでで、外部サービスへの書き込みは行いません。

1
非同期処理
0. 同期と非同期15分
1. Promise をつくって返す20分
2. async と await20分
3. Promise.all で同時に待つ20分
4. 非同期のエラーを捕まえる20分
5. つくる 読み込み中の表示を出す30分
6. 第1章まとめクイズ10分
2
fetch で外のデータを使う
0. HTTP と REST の読みかた15分
1. fetch でデータを取る25分
2. 取ったデータを描画する25分
3. response.ok と失敗時の表示25分
4. POST のリクエストを組み立てる20分
5. つくる 作品データを API から読む30分
6. 第2章まとめクイズ10分
3
モジュールと総仕上げ
0. ファイルを分けるという考えかた15分
1. named export と default export15分
2. つくる ポートフォリオアプリを仕上げる40分
3. ここから先の学びかた15分
4. 第3章まとめクイズ10分

非同期JavaScript:API通信とモジュール

01同期と非同期
02Promise をつくって返す
03async と await
04Promise.all で同時に待つ
05非同期のエラーを捕まえる
06つくる 読み込み中の表示を出す
07第1章まとめクイズ
08HTTP と REST の読みかた
09fetch でデータを取る
10取ったデータを描画する
11response.ok と失敗時の表示
12POST のリクエストを組み立てる
13つくる 作品データを API から読む
14第2章まとめクイズ
15ファイルを分けるという考えかた
16named export と default export
17つくる ポートフォリオアプリを仕上げる
18ここから先の学びかた
19第3章まとめクイズ

非同期JavaScript:API通信とモジュール

named export と default export

named export と default export
解説

このレッスンで分かること

  • 名前を付けて何個でも出すのが named export、主役を 1 つだけ出すのが default export です
  • 出しかたと受け取りかたは対になっていて、片方だけ変えると読み込めません

波かっこを 1 組間違えるだけで読み込めなくなる

import の行は、見た目がよく似ているのに 2 通りあります。書き分けを外すと、呼び出す行まで進む前にページごと止まります。

JavaScript

// works.js が export default class WorkCollection を出しているとき import { WorkCollection } from "./works.js"; // 止まる import WorkCollection from "./works.js"; // 正しい

波かっこの有無は好みではなく、出す側が選んだ出しかたに合わせるものです。だから、他人のファイルを使うときはまず「どちらで出しているか」を見ます。

名前で受け取る named export

宣言に export を付けるだけの形です。受け取る側は波かっこの中に、同じ名前を書きます。

JavaScript

// works.js export const CATEGORIES = ["site", "card", "table"]; export function publishedWorks(works) { return works.filter((work) => work.published); }

JavaScript

// app.js import { CATEGORIES, publishedWorks } from "./works.js";

要らないものは書かなければ受け取りません。宣言の場所に export を散らす代わりに、ファイルの最後に export { publishedWorks, sortByViews }; とまとめて書く形もあります。何が公開されているかが 1 か所で分かるので、ファイルが育ってきたらこちらが読みやすくなります。

名前がすでに使われているときは as で付け替えられます。ただし、これはぶつかったときの逃げ道であって、読みやすくするための手ではありません。同じものが呼ぶ側ごとに違う名前で呼ばれていると、検索で追えなくなります。

主役を 1 つだけ出す default export

export default は 1 つのファイルに 1 つだけ書けます。受け取る側は波かっこを使わず、好きな名前を付けられます。

JavaScript

// tag-badge.js export default function createTagBadge(work) { /* ... */ } export const BADGE_CLASS = "tag-badge";

JavaScript

// app.js import createTagBadge, { BADGE_CLASS } from "./tag-badge.js";

default のぶんを先に書き、そのあとに波かっこを続けます。順番は決まっています。

名前が自由なのは便利ですが、裏返すと呼ぶ側ごとに名前がばらつくということでもあります。迷ったら named export を選んでください。default export が向くのは、そのファイルが 1 つのものだけを提供していて、名前がファイル名からそのまま読める場合です。tag-badge.js から createTagBadge が出てくるなら分かりますが、utils.js から名無しのものが出てくると読めません。

出しかた出す側受け取る側1 ファイルの個数
namedexport function f() {}import { f } from "./a.js"何個でも
defaultexport default function f() {}import f from "./a.js"1 つだけ
名前替えexport { f as g }import { f as g } from "./a.js"何個でも

よくある間違い

  • named を波かっこ無しで受け取る — import publishedWorks from "./works.js"; は default を取りに行く書きかたです。default が無いファイルでは undefined になります
  • export default を 2 つ書く — A module cannot have multiple default exports で止まります。2 つ出したいなら、どちらか一方を named export にします
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/03/27·更新 2026/08/26

関連レッスン

  • つくる ポートフォリオアプリを仕上げる

    API から作品を取り、公開ずみだけを選び、タグでしぼり、並び替え、問い合わせフォームを検証します。第2章から第9章までを 1 枚に集める総仕上げです。

  • ここから先の学びかた

    55 レッスンで書けるようになったことを棚おろしし、TypeScript React Node.js ビルドツールに、いまの知識がそれぞれどう効くのかを結びつけます。

  • 第3章まとめクイズ

    モジュールの export と import を、コードを読んで結果が言えるか確かめます。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。