コース一覧
非同期JavaScript:API通信とモジュール
ここから先の学びかた

非同期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通信とモジュール

ここから先の学びかた

解説

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

  • このコースで実際に書けるようになったことの棚おろし
  • 次に触る道具が、素の JavaScript のどの面倒を引き受けてくれるのか

いま書けるようになっていること

「JavaScript が書けます」では粗すぎるので、手が動く単位で並べます。

  • 配列から欲しいものだけを選び、形を変え、並べ替える。filter map sort をつないで 1 本の流れにできる
  • throw で自分のエラーを投げ、try catch で受け、利用者に見える場所へ出せる
  • 正規表現で入力の形を確かめられる
  • async と await で非同期の処理を上から下へ読める形に書き、Promise.all で同時に待てる
  • fetch でデータを取り、response.ok を見て失敗を分け、読み込み中と失敗の表示を切り替えられる
  • モジュールで書かれた他人のコードを読み、import の行が何を持ってきているか言える

最後の課題で作ったものは、外のサーバーからデータが来て、遅れて届き、ときどき失敗し、しぼり込みも並び替えも入力の検証もできるページです。求人票に JavaScript の実務経験と書かれている仕事で、最初に任される作業とほぼ同じ形をしています。

次に触る道具は、面倒の引き受け先

どれも素の JavaScript の代わりではありません。素の JavaScript のどこが面倒だったかを引き受ける道具です。だから、面倒を体験していないと何が嬉しいのか分かりません。あなたはもう体験しました。

道具引き受けてくれる面倒いまの知識のどこが効くか
TypeScript形の食い違いに実行するまで気づけないことオブジェクトとクラスの設計
React状態が変わるたびに DOM を書き直す手間配列の加工と副作用のない関数
Node.jsブラウザの外で JavaScript を動かすこと非同期処理と HTTP の読みかた
ビルドツール分けたファイルをまとめて配ることモジュールの import と export

TypeScript は、work.tags が配列なのか文字列なのかを書いている最中に教えてくれます。下の関数は、views が文字列で届いても、結果がおかしくなるまで気づけません。

JavaScript

function totalViews(works) { return works.reduce((sum, work) => sum + work.views, 0); }

取ってきたデータの形を信じるしかなかったところに、書き留めておく場所ができます。新しく覚えるのは書きかたであって、考えかたではありません。

React は、一覧を空にして積み直す作業を機械にやらせる道具です。書くのは、いま出すぶんを決める関数と、1 件ぶんの見た目を返す関数までです。一覧を組み立てるのに使うのも map です。

JavaScript

// このコースで書いた形 list.forEach((skill) => container.append(createSkillRow(skill)));

JavaScript

// React ではこの形になる list.map((skill) => SkillRow(skill));

配列を別の配列に変えるという考えかたが、データの加工にも画面の組み立てにも効いているだけです。Node.js では、document はありませんが async await fetch はそのままです。読んでいた API の返す側を書けるようになります。

解説

順番に迷ったら、まず TypeScript で型を付け、そのあと React へ進んでください。Node.js は、サーバー側の JavaScript が必要になった段階で選ぶ別の道です。

明日から何をするか

次の 3 つを、この順でおすすめします。

  1. 最後の課題を自分のパソコンに移す。 index.html style.css app.js の 3 枚に分け、そのフォルダで python3 -m http.server 8000 を実行して開く。教材の外でも同じものが動くと確認できます
  2. ファイルを分けてみる。 加工の関数を別のファイルへ移し、export と import でつなぐ。走らせられなかったものが自分の手元では動く、という体験が次の下地になります
  3. お題を 1 つ決めて作りきる。 読んだ本の記録でも、今週やったことの一覧でもかまいません。データを配列で持ち、しぼり込みと並び替えを付け、フォームで足せるようにする。ここまでの内容で全部書けます

3 番のお題は、他人のためのものにしないでください。自分が使わないものを作ると、途中で誰のためだったかが分からなくなって手が止まります。毎日開くページなら、直したいところが自然に出てきます。それが、次に学ぶことを教えてくれます。

作ったものは公開できる場所に置き、何ができるページかを 1 行で説明できるようにしてください。説明できる制作物が 1 つあることは、修了証よりも強い材料になります。

最後にひとつ

見本のとおりに書き写して終えると、その 1 行を自分で変えられません。書き写したあとに必ず 1 か所変えてください。並び順を逆にする、別のキーで並べる、その程度で十分です。自分で変えて壊して直したところだけが、次に何も見ずに書けるようになります。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • JavaScriptWeb で動的な振る舞いを担う言語
  • 配列サイズ固定の同型データの集まり
  • 非同期完了を待たずに次へ進み、後で結果を受ける
  • 同期処理が終わるまで次に進まない実行順
  • 処理計算や代入を表す長方形
  • モジュール他ファイルから import できるPythonファイル
  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • TypeScript静的型を加えた JavaScript の上位互換
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/08/06·更新 2026/08/26

関連レッスン

  • 第3章まとめクイズ

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

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

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

  • named export と default export

    名前を付けて何個でも出す named export と、1 ファイルに 1 つだけの default export の違いを読みます。as で名前を替える形も扱います。

  • ファイルを分けるという考えかた

    長くなった app.js を役割ごとのファイルに切り分ける仕組みを読みます。export と import の形と、この教材では走らせられない理由を扱います。

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

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