JavaScript 入門 学習資料の計画

ほかの言語を少し触った人向けの JavaScript 学習資料・勉強会資料の計画

📅 作成: 2026-10-09 / 更新: 2026-10-10

目的と全体像

対象読者とゴール

構成

部実行環境章勉強会(各 90 分)
第1部 言語編Node.js01〜13 +付録 A1〜A3第1〜4回
第2部 ブラウザ編ブラウザ14〜23第5〜6回

各部の最後の章はハンズオンで、宿題にする。1 回の時間配分は、振り返りと質問 10 分 / 読み合わせ 50 分 / 演習 25 分 / 次回予告 5 分。

第1部 言語編

山場は後半に 2 段で置く。前半の山は型変換・this ・グローバル(04 ・ 07)、後半の山は最重要のクロージャ・非同期(09 ・ 11)。

回章タイトル主な内容
第1回01背景JavaScript と ECMAScript、ブラウザと Node.js、Java とは別の言語
02実行環境Node.js の導入、REPL、node file.js、console.log
03値と変数let ・ const ・ var、プリミティブ型、数値は double だけ、テンプレート文字列、null と undefined
04演算子と型変換 山== と ===、truthy ・ falsy、NaN、暗黙の変換、?? と ?.
05オブジェクトと配列参照とコピー、分割代入、スプレッド、配列のメソッド、JSON
06関数宣言・式・アロー関数、既定値・残余引数、コールバック
第2回07スコープ・this・グローバル 山ブロックスコープ、巻き上げ、グローバル変数の事故、globalThis、this の決まり方、strict モード
08クラスとプロトタイプclass、継承、裏にあるプロトタイプ
第3回09クロージャ 山外側の変数を覚える仕組み、カウンタ、ループ内の関数
10エラー処理とモジュールtry ・ catch ・ throw、import ・ export、npm の最小限
第4回11非同期 山イベントループ、Promise、async ・ await、非同期のエラー
12CommonJS と ES Modulesrequire と import、.cjs ・ .mjs ・ .js の決まり方(package.json の "type")、__dirname と import.meta、古いコードの見分け方
宿題13ハンズオン小さな CLI ツールを作る(読み込み → 集計 → 非同期化)。第5回の冒頭で振り返る

付録: A1 逆引き / A2 Java ・ C# ・ VBA との対応表 / A3 落とし穴カタログ(症状から原因を引く)

第1回は 6 章ある。01〜03 は読み流し(環境は事前に用意してもらう)、04 に時間を寄せる。収まらなければ 06 を第2回へ回す。

第2部 ブラウザ編

20〜22 は「Web でできること」の紹介。短い例を動かして見せるだけで、詳しくは説明しない。

回章タイトル主な内容
第5回14ブラウザで動かす<script type="module">、開発者ツール、ローカルサーバ
15DOM要素の取得・作成・書き換え、textContent と innerHTML
16イベントaddEventListener、伝播と委譲、イベントの中の this
17フォーム入力値の取得、検証、送信を止める
第6回18通信fetch、JSON、CORS の入口
19ブラウザの機能保存の方法の比較(cookie ・ localStorage ・ sessionStorage ・ IndexedDB の使いどころだけ)、タイマー、履歴、クリップボード
20紹介: 描画とメディアCanvas、SVG、3D(three.js など)、動画、マイク・カメラ、音声合成、音の生成(Web Audio)
21紹介: リアルタイム通信WebSocket、Server-Sent Events、WebRTC、チャット
22紹介: ライブラリを埋め込むCDN で React、UMD を <script> で読み込む、Mermaid でシーケンス図など
宿題23ハンズオンToDo などの小さな画面を作る
第6回は内容が多い。18〜19 に 45 分、20〜22 に 30 分を目安にする。収まらなければ第7回を足す。

作り方と未決事項

作り方

サンプルコードの実行

jsprimer は、GitBook のプラグイン js-console(codemirror-console)を使っている。コードの横のボタンを押すと、編集できるエディタ(CodeMirror)とコンソール風の出力欄が開き、ブラウザの中でコードを評価して console.log の出力とエラーを表示する。

コードの種類ボタンを押したとき
ブラウザで動くもの(値・関数・クラス・クロージャ等)その場で実行し、出力とエラーを表示する。コードは書き換えて再実行できる
タイマー・Promise ・ async ・ await同じく実行する。出力は時間差で順に追加されていく(11 章の例はこちらを多めにする)
Node.js でしか動かないもの(ファイルの読み書き・ディレクトリ一覧・require 等)実行はせず、Node.js で実際に動かしたときの出力を、あらかじめ記録したものとして表示する。「Node.js での実行結果」と明示し、書き換えはできない

仕組みは自前で書き、docs/js/ に置く。CDN は使わない。実行する場所は部で分ける。

記録する出力は、docs/samples/ のコードを実際に Node.js で動かして得る。

未決事項

なし。

実施結果