コース一覧
JavaScriptでWebページを動かす
完成と次のステップ

JavaScriptでWebページを動かす

DOM から要素を取得・更新・追加し、クリック・入力・フォーム送信に反応する処理を作る全 20 レッスン(411 分)のコースです。タイマーと localStorage も使い、最後は入力を保存できるひとことメモを仕上げます。用意された HTML/CSS を使うため、学習の中心は JavaScript です。

1
DOM のきほん
0. DOM とは何か15分
1. 要素を取得する20分
2. テキストを書き換える20分
3. class を付け外しする20分
4. 要素を作って追加する20分
5. 配列から一覧を描画する25分
6. つくる ギャラリーをデータ駆動にする30分
7. 第1章まとめクイズ10分
2
イベント処理
0. クリックに反応する18分
1. event オブジェクト20分
2. 入力欄の値を取る18分
3. フォーム送信を制御する20分
4. つくる ダークモード切替25分
5. つくる フォームの入力チェック25分
6. 第2章まとめクイズ10分
3
タイマーと総合制作
0. setTimeout と setInterval20分
1. localStorage で保存する20分
2. つくる ひとことメモウィジェット30分
3. 自由拡張30分
4. 完成と次のステップ15分

JavaScriptでWebページを動かす

01DOM とは何か
02要素を取得する
03テキストを書き換える
04class を付け外しする
05要素を作って追加する
06配列から一覧を描画する
07つくる ギャラリーをデータ駆動にする
08第1章まとめクイズ
09クリックに反応する
10event オブジェクト
11入力欄の値を取る
12フォーム送信を制御する
13つくる ダークモード切替
14つくる フォームの入力チェック
15第2章まとめクイズ
16setTimeout と setInterval
17localStorage で保存する
18つくる ひとことメモウィジェット
19自由拡張
20完成と次のステップ

JavaScriptでWebページを動かす

完成と次のステップ

解説

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

  • ここまでの学びを、書ける・調べれば書ける・読めれば十分の 3 段階で棚卸しできます
  • 次に学ぶ順番と、その先にある React までの道のりが見通せます

10 章前は、console.log の 1 行だけだった

最初のレッスンでは、HTML に script を 1 行足して、コンソールに文字を出しただけでした。いま手元にあるのは、データを配列で持ち、画面を自分で組み立て、押されたら反応し、選んだ設定を覚えるページです。

変化がいちばん大きかったのは第8章から先です。それまでのコードはコンソールの中で完結していましたが、DOM を触れるようになった瞬間から、書いたものが目に見える形で画面に出るようになりました。プログラミングが自分の道具になった、と感じられたのはこのあたりのはずです。

作ったファイルは必ず残しておいてください。index.html と style.css と script.js の 3 つを同じ場所に置いて上げれば、そのまま公開できます。サーバー側の準備は要りません。人に見せるときは、何ができるページなのかを 1 行で言えるようにしておきます。「プロフィールサイトです」より「作品を絞り込めて、テーマの設定を覚えるプロフィールサイトです」のほうが具体的に伝わります。自分が書いた機能を言葉にする練習は、そのまま職務経歴の書き方につながります。

3 段階で自分を測る

学んだことが、すべて同じ強さで身に付くわけではありません。

何も見ずに手が動くのは、変数、条件分岐、配列とループ、関数、オブジェクト、querySelector と textContent、addEventListener あたりです。

調べれば書けるのは、createElement を使った組み立て、classList の操作、JSON.stringify と JSON.parse、タイマーの止め方でしょう。書き方はうろ覚えでも、何ができるかを覚えていれば検索で必ずたどり着けます。

読めれば十分なのは、他人のコードに出てくる見慣れない書き方です。全部を書けるようになる必要はありません。「これは配列を加工しているらしい」と当たりが付けば、その先は調べられます。

いちばん増やしたいのは真ん中です。プロと呼ばれる人でも細かい書き方はしょっちゅう調べていて、違うのは何を調べればよいかが分かっている点だけです。10 章ぶん手を動かしたいま、「一覧を作るには描き直す関数が要る」「保存には JSON をはさむ」と見当が付くようになっています。この見当こそが、独学を先へ進める燃料です。

詰まったときに戻る場所

これから自分のものを作っていくと、必ず詰まります。症状ごとに、見に行く場所はだいたい決まっています。

症状まず疑うところ戻る章
画面が何も変わらないJavaScript がエラーで止まっている第1章 エラーの読み方
null に対する操作でエラーが出るquerySelector に渡した名前が違う第8章 要素の取得
数字を足したのに文字列がつながる型が文字列のまま第2章 型変換
ボタンを押しても反応しないイベントを付ける相手が違う第9章 イベント
一覧がどんどん増えていく描き直す前に中身を消していない第8章 描画
リロードで設定が消える読み込み時の反映を書いていない第10章 保存

エラーメッセージは敵ではなく、いちばん近くにいる案内役です。赤い文字が出たら、落ち着いて 1 行目とファイル名と行番号を読む。これができる人は、独学でもどこまでも進めます。公開する前にも、開発者ツールを開いて赤いエラーが出ていないか必ず確かめてください。手元では動いていたのにファイル名の大文字と小文字の違いで読み込めない、というのは公開でいちばん多い失敗です。

次はどこへ行くか

このコースでは、いくつかの道具をあえて外しました。配列を 1 行で加工する map と filter と reduce、非同期の本体である Promise と async と await、サーバーからデータを取ってくる fetch、データと処理をまとめる class、ファイルを分ける import と export。難しすぎるからではなく、先に土台を固めたほうが結局早いからです。

diagram (will load when visible)

次は「モダンJavaScript:データ処理とコード設計」です。map と filter と reduce、クロージャ、クラス、エラー設計を学びます。その後の「非同期JavaScript:API通信とモジュール」で Promise と async と await、fetch、モジュールへ進みます。

その先が React のようなライブラリです。React は、このコースの最後にやった「データを本物にして、画面はそれを写したものにする」という考え方を、仕組みとして用意してくれます。手で描き直しを書いた経験がある人ほど、その便利さが具体的に分かります。

進め方は、写して動かす、少し変えて壊す、直す。壊して直した回数だけ引き出しになります。おつかれさまでした。

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

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

  • HTMLHyperText Markup Languageの略。
  • 配列サイズ固定の同型データの集まり
  • DOMHTML を JS から触るためのツリー構造
  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • 変数データに名前をつけて参照する仕組み
  • ループ繰り返し処理。矢印で戻すか専用記号で示す
  • 関数処理に名前を付けて再利用できる単位
  • オブジェクトキーと値のペアで構造を作るデータ
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/08/05·更新 2026/08/26

関連レッスン

  • 自由拡張

    3 つの案から 1 つ選んで、自分の手で機能を足します。作品の絞り込みを最低ラインとして、欲しいものを設計します。

  • つくる ひとことメモウィジェット

    配列と DOM とイベントと保存を 1 つに合流させます。メモを追加し、一覧に出し、削除し、ブラウザに覚えさせます。

  • localStorage で保存する

    ブラウザに設定を覚えさせます。ダークモードの選択を保存して、リロードしても同じ見た目で始まるようにします。

  • setTimeout と setInterval

    時間をあつかう 2 つの関数を覚えます。あとで動かす予約をして、ヘッダーに動く時計を出します。

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

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

復習ミニクイズ

「JavaScriptでWebページを動かす」で扱ったものと、次の「モダンJavaScript:データ処理とコード設計」で扱うものの組み合わせとして正しいのはどれですか