JavaScript入門 — 非同期処理からDOMまで
変数・関数・非同期処理からDOM操作・Web APIまで、JavaScriptの基礎を実務目線で整理する入門書です。チートシート的に必要な章だけ拾い読みしても、1章から通して読んでも使えます。
目次(全23章)
- 1変数宣言とスコープ — var・let・constの違いと使い分け
var・let・constの挙動の違い、ブロックスコープと関数スコープ、巻き上げ(hoisting)の仕組みを、実務での使い分けとともに整理します。
- 2データ型と型変換 — プリミティブとオブジェクトの境界線
プリミティブ型とオブジェクト型の違い、typeof演算子、暗黙的・明示的な型変換のルールをまとめます。
- 3演算子と式 — 等価比較・短絡評価・オプショナルチェーン
比較演算子(==と===)、論理演算子の短絡評価、Nullish Coalescing、オプショナルチェーンなど実務で頻出の式を整理します。
- 4制御構文 — if・switch・for・whileの実務パターン
if文・switch文・for系ループ・while文の基本と、break・continue・return・throwの使いどころを実務パターンで解説します。
- 5関数とアロー関数 — 定義方法・this・デフォルト引数
関数宣言・関数式・アロー関数の違い、デフォルト引数・残余引数・thisの束縛ルールを整理します。
- 6オブジェクト操作 — プロパティアクセスとObjectの静的メソッド
プロパティアクセス・動的キー・プロパティの存在確認と、Object.keys/values/entries/assign/freezeなどObjectの静的メソッドの使い方を整理します。
- 7配列メソッド完全ガイド — map・filter・reduceから実務頻出パターンまで
map・filter・reduce・find・some・everyなど、配列メソッドを用途別に整理し、実務でよく書くパターンをまとめます。
- 8文字列操作と正規表現 — replace・split・slice・正規表現の実践ガイド
String.prototypeのメソッド(replace・replaceAll・slice・split・includesなど)とテンプレートリテラル・正規表現の基本を、実務で使うパターンとともに整理します。
- 9分割代入とスプレッド構文 — 配列・オブジェクト・引数を横断するイディオム
配列・オブジェクトの分割代入、ネスト・デフォルト値・リネーム、スプレッド/レスト構文によるコピー・マージ・可変長引数までを横断的に整理します。
- 10プロトタイプとclass構文 — 継承モデルの仕組みを理解する
プロトタイプチェーンの仕組み、class構文・extends・super・static、ES2022のプライベートフィールドまでを解説します。
- 11thisの正体 — 呼び出しパターンごとの挙動を整理する
グローバル・メソッド・コンストラクタ・アロー関数の4パターンでthisがどう決まるかを整理します。
- 12クロージャ — スコープチェーンとデータの隠蔽
クロージャの仕組み、レキシカルスコープ、プライベート変数パターン、ループ内クロージャの罠を解説します。
- 13非同期処理の基本 — コールバック・Promise・async/await
コールバック地獄からPromiseチェーン、async/awaitへの進化を順を追って整理し、エラー処理のパターンもカバーします。
- 14エラーハンドリング — try/catch/finally・カスタムエラー・非同期のエラー
try/catch/finallyの基本、Errorオブジェクトのプロパティ、カスタムErrorクラスの作り方、async/awaitやPromiseでのエラーハンドリングパターンを実務目線で整理します。
- 15モジュールシステム — import/exportとCommonJSの違い
ESModules(import/export)とCommonJS(require/module.exports)の違い、動的import、Tree Shakingの仕組みを解説します。
- 16DOM操作の基本 — 要素取得・イベント・イベント委譲
querySelector・addEventListener・イベントバブリング・イベント委譲など、DOM操作の基本を整理します。
- 17Map・Set・WeakRef — コレクション型の使いどころ
Map・Set・WeakMap・WeakSetの特性と使いどころ、Objectとの違い、WeakRefとFinalizationRegistryを紹介します。
- 18イテレータとジェネレータ — for...ofの裏側を知る
Symbol.iterator・イテレータプロトコル・ジェネレータ関数・for...ofの仕組みを解説します。
- 19ProxyとReflect — メタプログラミング入門
Proxyによるオブジェクト操作のインターセプト、Reflectの役割、実務でのバリデーション・ロギング活用例を紹介します。
- 20知っておきたいWeb API — fetch・Storage・IntersectionObserver
fetch API・localStorage/sessionStorage・IntersectionObserver・MutationObserverなど、よく使うWeb APIを整理します。
- 21数値の扱いと計算 — toFixed・四捨五入・0.1+0.2問題・Mathの実践ガイド
number型の基礎から、文字列⇄数値の変換、浮動小数点の誤差(0.1+0.2問題)、toFixed/toLocaleStringでの整形、Numberの静的メソッド、Mathの主要メソッドまでを実務目線で整理します。
- 22日付と時刻の操作 — Dateの生成・フォーマット・差分計算と月0始まりの罠
Dateオブジェクトの生成(月が0始まりの罠)、各要素の取得、toLocaleString/toISOStringでのフォーマット、日付の差分・加算、タイムゾーンの注意点、Temporalや日付ライブラリまでを実務目線で整理します。
- 23JSONの基礎と実践 — stringify・parseの引数、ディープコピー、よくある落とし穴
JSON.stringify(replacer/インデント)とJSON.parse(try/catch)の使い方、structuredCloneによるディープコピー、Dateやundefinedが消える落とし穴までを実務目線でまとめます。