ウェブエンジニア問題集

JavaScript入門 — 非同期処理からDOMまで

変数・関数・非同期処理からDOM操作・Web APIまで、JavaScriptの基礎を実務目線で整理する入門書です。チートシート的に必要な章だけ拾い読みしても、1章から通して読んでも使えます。

目次(全23章)

  1. 1
    変数宣言とスコープ — var・let・constの違いと使い分け

    var・let・constの挙動の違い、ブロックスコープと関数スコープ、巻き上げ(hoisting)の仕組みを、実務での使い分けとともに整理します。

  2. 2
    データ型と型変換 — プリミティブとオブジェクトの境界線

    プリミティブ型とオブジェクト型の違い、typeof演算子、暗黙的・明示的な型変換のルールをまとめます。

  3. 3
    演算子と式 — 等価比較・短絡評価・オプショナルチェーン

    比較演算子(==と===)、論理演算子の短絡評価、Nullish Coalescing、オプショナルチェーンなど実務で頻出の式を整理します。

  4. 4
    制御構文 — if・switch・for・whileの実務パターン

    if文・switch文・for系ループ・while文の基本と、break・continue・return・throwの使いどころを実務パターンで解説します。

  5. 5
    関数とアロー関数 — 定義方法・this・デフォルト引数

    関数宣言・関数式・アロー関数の違い、デフォルト引数・残余引数・thisの束縛ルールを整理します。

  6. 6
    オブジェクト操作 — プロパティアクセスとObjectの静的メソッド

    プロパティアクセス・動的キー・プロパティの存在確認と、Object.keys/values/entries/assign/freezeなどObjectの静的メソッドの使い方を整理します。

  7. 7
    配列メソッド完全ガイド — map・filter・reduceから実務頻出パターンまで

    map・filter・reduce・find・some・everyなど、配列メソッドを用途別に整理し、実務でよく書くパターンをまとめます。

  8. 8
    文字列操作と正規表現 — replace・split・slice・正規表現の実践ガイド

    String.prototypeのメソッド(replace・replaceAll・slice・split・includesなど)とテンプレートリテラル・正規表現の基本を、実務で使うパターンとともに整理します。

  9. 9
    分割代入とスプレッド構文 — 配列・オブジェクト・引数を横断するイディオム

    配列・オブジェクトの分割代入、ネスト・デフォルト値・リネーム、スプレッド/レスト構文によるコピー・マージ・可変長引数までを横断的に整理します。

  10. 10
    プロトタイプとclass構文 — 継承モデルの仕組みを理解する

    プロトタイプチェーンの仕組み、class構文・extends・super・static、ES2022のプライベートフィールドまでを解説します。

  11. 11
    thisの正体 — 呼び出しパターンごとの挙動を整理する

    グローバル・メソッド・コンストラクタ・アロー関数の4パターンでthisがどう決まるかを整理します。

  12. 12
    クロージャ — スコープチェーンとデータの隠蔽

    クロージャの仕組み、レキシカルスコープ、プライベート変数パターン、ループ内クロージャの罠を解説します。

  13. 13
    非同期処理の基本 — コールバック・Promise・async/await

    コールバック地獄からPromiseチェーン、async/awaitへの進化を順を追って整理し、エラー処理のパターンもカバーします。

  14. 14
    エラーハンドリング — try/catch/finally・カスタムエラー・非同期のエラー

    try/catch/finallyの基本、Errorオブジェクトのプロパティ、カスタムErrorクラスの作り方、async/awaitやPromiseでのエラーハンドリングパターンを実務目線で整理します。

  15. 15
    モジュールシステム — import/exportとCommonJSの違い

    ESModules(import/export)とCommonJS(require/module.exports)の違い、動的import、Tree Shakingの仕組みを解説します。

  16. 16
    DOM操作の基本 — 要素取得・イベント・イベント委譲

    querySelector・addEventListener・イベントバブリング・イベント委譲など、DOM操作の基本を整理します。

  17. 17
    Map・Set・WeakRef — コレクション型の使いどころ

    Map・Set・WeakMap・WeakSetの特性と使いどころ、Objectとの違い、WeakRefとFinalizationRegistryを紹介します。

  18. 18
    イテレータとジェネレータ — for...ofの裏側を知る

    Symbol.iterator・イテレータプロトコル・ジェネレータ関数・for...ofの仕組みを解説します。

  19. 19
    ProxyとReflect — メタプログラミング入門

    Proxyによるオブジェクト操作のインターセプト、Reflectの役割、実務でのバリデーション・ロギング活用例を紹介します。

  20. 20
    知っておきたいWeb API — fetch・Storage・IntersectionObserver

    fetch API・localStorage/sessionStorage・IntersectionObserver・MutationObserverなど、よく使うWeb APIを整理します。

  21. 21
    数値の扱いと計算 — toFixed・四捨五入・0.1+0.2問題・Mathの実践ガイド

    number型の基礎から、文字列⇄数値の変換、浮動小数点の誤差(0.1+0.2問題)、toFixed/toLocaleStringでの整形、Numberの静的メソッド、Mathの主要メソッドまでを実務目線で整理します。

  22. 22
    日付と時刻の操作 — Dateの生成・フォーマット・差分計算と月0始まりの罠

    Dateオブジェクトの生成(月が0始まりの罠)、各要素の取得、toLocaleString/toISOStringでのフォーマット、日付の差分・加算、タイムゾーンの注意点、Temporalや日付ライブラリまでを実務目線で整理します。

  23. 23
    JSONの基礎と実践 — stringify・parseの引数、ディープコピー、よくある落とし穴

    JSON.stringify(replacer/インデント)とJSON.parse(try/catch)の使い方、structuredCloneによるディープコピー、Dateやundefinedが消える落とし穴までを実務目線でまとめます。