モダンを学ぶ 速習 JavaScript
| 著者 | 山田祥寛 |
|---|---|
| 出版社 | WINGSプロジェクト |
| 価格 | 500円(税込) |
| 判型 | Kindle版・4色 |
| ページ数 | 272ページ |
| 発売日 | 2026年6月21日 |
| シリーズ | 速習(QUICK MASTER - WINGS) |
| 対象レベル | 初級 |
イマドキのJavaScriptをサクッとマスター
本書のテーマは、モダンなJavaScriptの基盤であるECMAScriptです。最新のフロントエンド開発では、ReactやVue.jsなどのフレームワークを理解するうえでも、モダンなJavaScript構文の知識が欠かせません。「JavaScriptは知っているはずなのに、最近のコードが読めない」「公式ドキュメントのサンプルが理解できない」――そんな悩みを解決し、最新のJavaScriptへ素早くキャッチアップすることが本書の目的です。ECMAScript 2015以降に追加された主要な機能を中心に、実践的なコード例を交えながら学べます。なお、JavaScriptの基本文法については既習であることを前提としています。
更新履歴
- 正誤訂正:2026年7月12日 更新
目次
- Part 1:はじめに
- 1.1 ECMAScriptとは?
- 1.1.1 ECMAScriptのバージョン
- 1.1.2 ECMAScript仕様策定の流れ
- 1.1.3 最新のECMAScriptを利用するには?
- 1.2 サンプルプログラムについて
- Part 2:モダンJavaScriptの常識構文
- 2.1 モダンJavaScriptのもはや常識 let、const、varの使い分け
- 2.1.1 let/varの違いを押さえる
- 2.1.2 const vs. let
- 2.2 リテラル表現でコードの可読性を改善する
- 2.2.1 テキストの組み立てを簡単化する - テンプレート文字列
- 2.2.2 応用:テンプレート文字列をアプリ仕様に加工する - タグ付きテンプレート文字列
- 2.2.3 用途に応じて数値表現を使い分け - 直感的に書ける「n進数リテラル」
- 2.2.4 オブジェクトの意図を短く伝える - オブジェクトリテラル
- 2.2.5 使いどころに悩んでいませんか?モダンJavaScriptの新たなデータ型 - Symbol
- 2.2.6 判りにくい!?シンボル利用のイメージを理解する
- 2.3 複雑なデータ構造から必要な値を一瞬で抽出する「分割代入」
- 2.3.1 分割代入の基本
- 2.3.2 余りを一括で受け取る - 可変長データを扱いやすくする
- 2.3.3 オブジェクトのプロパティを分割する
- 2.3.4 オブジェクト分解のさまざまな例
- 2.3.5 分割代入を実践活用しよう!
- 2.4 もうヌルポも怖くない!バグの温床「null / undefined」をスマートにさばく
- 2.4.1 ネストしたデータも安全に掘り進む「?.」演算子
- 2.4.2 null / undefined に特化した初期値設定の決定版「??」演算子
- Part 3:モダンなアプリ開発を支える関数の世界
- 3.1 未定義の地雷をスマートに防ぐ - 引数の既定値
- 3.1.1 既定値構文の基本
- 3.1.2 既定値に渡せるのはリテラルだけでない!
- 3.1.3 補足:既定値構文で必須パラメーターも表現できる
- 3.2 引数の数を縛らない自由な関数を作る - 可変長引数
- 3.2.1 可変長引数の関数を定義する
- 3.2.2 スプレッド構文による引数の展開
- 3.2.3 補足:サロゲートペアを含んだ文字列長を算出する
- 3.3 ロジックを限界までシンプルに見せる - アロー関数
- 3.3.1 アロー関数の基本
- 3.3.2 応用:アロー関数はthisを固定する
- Part 4:値の集合(コレクション)を使い分ける
- 4.1 伝統的なArrayもモダンJavaScriptでは大進化
- 4.1.1 「高階メソッド」が、モダン開発の主役に
- 4.1.2 用途に合わせて配列を生成する
- 4.1.3 トレンドは非破壊的メソッド[2023]
- 4.2 専用の連想配列オブジェクト「Map」
- 4.2.1 Mapを利用する意味とは?
- 4.2.2 マップの基本操作
- 4.2.3 キー比較の際の注意点
- 4.2.4 オブジェクト配列をグループ化する - groupByメソッド[2024]
- 4.2.5 キーが存在する場合は取得、さもなければ値を挿入する - getOrInsertメソッド[2026]
- 4.3 一意なデータを安全に扱う - Setオブジェクト
- 4.3.1 Setの基本
- 4.3.2 セットが集合として利用できるようになった - 集合演算メソッド[2025]
- 4.3.3 セット同士の包含関係を確認する
- Part 5:日付処理のノウハウをアップデートする - Temporal API[2027]
- 5.1 Temporal APIの基本
- 5.2 日付/時刻オブジェクトを生成する
- 5.2.1 現在の日付/時刻から生成する
- 5.2.2 指定された年月日、時分秒から生成する
- 5.2.3 日付/時刻文字列から変換する
- 5.2.4 補足:不正な日付/時刻が渡された場合の対処方法
- 5.2.5 Unixタイムスタンプから生成する
- 5.2.6 他のオブジェクトから変換する
- 5.2.7 Date⇔Temporal APIを相互変換する
- 5.3 日付/時刻を整形する
- 5.3.1 オブジェクトを文字列化する - toStringメソッド
- 5.3.2 文字列への整形ルールを設定する――標準スタイル
- 5.3.3 文字列への整形ルールを設定する――カスタマイズ
- 5.3.4 範囲のある日付・時刻値を整形する
- 5.4 日付・時刻要素を取得/設定する
- 5.4.1 日付・時刻要素を取得する
- 5.5 日付時刻値を演算する
- 5.5.1 日付時刻を加算/減算する
- 5.5.2 日付時刻値を丸める
- 5.5.3 日付同士の差分を取得する
- 5.5.4 日付・時刻値を比較する
- Part 6:Temporal API、配列だけじゃない!モダンJavaScriptで進化したオブジェクトたち
- 6.1 入力値の検証からクレンジングまで、一歩進んだ文字列操作を叶えるRegExp
- 6.1.1 ひらがな/カタカナなど特定の文字種を取得する「Unicodeプロパティエスケープ」
- 6.1.2 部分パターンを命名する「名前付きキャプチャグループ」
- 6.1.3 肯定後読みと否定後読み
- 6.1.4 正規表現の一部に修飾子を適用する[2025]
- 6.1.5 正規表現で文字列を全検索する
- 6.2 メタプログラミングから巨大数値の計算まで、JavaScriptの限界を超える「4つの隠れた主役」
- 6.2.1 オブジェクトの挙動を外側からハックする - Proxyオブジェクト
- 6.2.2 桁あふれの恐怖から解放される - BigIntオブジェクト
- 6.2.3 かゆいところに手が届くようになったJSONオブジェクト
- 6.2.4 Universal JavaScriptを推し進めるグローバルオブジェクト - globalThis
- Part 7:非同期処理 — フリーズしない快適なUIのしくみ
- 7.1 非同期処理の基盤を担うPromiseオブジェクト
- 7.1.1 レガシーなコールバック地獄
- 7.1.2 Promiseの基本
- 7.1.3 非同期処理を連結する
- 7.1.4 非同期処理を完全に「同期処理」の見た目に変える - async/await構文
- 7.2 Promiseの進化を追う
- 7.2.1 複数の非同期処理を並行して実行する
- 7.2.2 外部からresolve/rejectできる非同期処理 - withResolversメソッド[2024]
- 7.2.3 同期/非同期関数をすべてPromiseとして扱う - tryメソッド[2025]
- 7.3 非同期通信を実装する - fetchメソッド
- 7.3.1 fetchの基本
- 7.3.2 通信の成否を判定する
- 7.3.3 async/awaitで書き換えてみる
- Part 8:劇的に美しくなったオブジェクト指向の「新常識」 - クラス構文
- 8.1 クラスを定義する - class命令
- 8.1.1 クラスに属する情報を管理する - プロパティ構文
- 8.1.2 静的メンバーを定義する - static修飾子
- 8.1.3 プライベートメンバーの実装
- 8.1.4 ゲッター/セッターによるプロパティの開示
- 8.1.5 既存のクラスを継承する - extendsキーワード
- 8.1.6 スーパークラスの機能を引用する - superキーワード
- 8.2 アプリを機能単位にまとめる - モジュール
- 8.2.1 モジュールを定義する
- 8.2.2 モジュールを利用する(JavaScript)
- 8.2.3 モジュールを利用する(HTML)
- 8.2.4 知っておきたい!import/export命令のさまざまな記法
- 8.2.5 モジュールを任意のタイミングで呼び出す - 動的インポート
- 8.2.6 JavaScript以外のデータをインポートする[2025]
- Part 9:コレクションを一列にならす共通規格 - イテレーター
- 9.1 イテレーターとは「次へ、次へ」とデータをめくる共通のルール
- 9.1.1 イテレーターの心臓部「next」
- 9.1.2 なぜイテレーターという概念を知る必要があるのか?
- 9.2 自作クラスをfor...ofに対応させる実装方法
- 9.2.1 イテレーター実装の基本
- 9.2.2 イテレーターをよりシンプルに生成する - ジェネレーター
- 9.2.3 例:カウントダウンするジェネレーター
- 9.2.4 自作クラスのイテレーターをジェネレーターで書き換える
- 9.2.5 非同期処理を伴うイテレーターを定義する
- 9.2.6 イテレーターの操作をより高度に簡単に - Iterator Helpers[2025]
- 9.2.7 Iterator Helpersで無限ジェネレーターも処理できる
- 9.2.8 イテレーターを結合する - concatメソッド[2026]
正誤表
| 該当頁 | 該当箇所 | 修正刷 |
|---|---|---|
| 訂正箇所 | 訂正事項 | 更新日 |
| p.- | 1.1.1項 ECMAScriptのバージョン 表:「ECMAScriptのバージョン」 バージョン2023~2026の公開日 | - |
| 2022年6月 (4か所) | 2023年6月 2024年6月 2025年6月 2026年6月 |
2026/07/12 New |
FAQ
現在、FAQはありません。
ダウンロード
お問い合わせ
書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。
お問い合わせの前にFAQ・正誤表をご確認ください。すでに掲載済みの内容については個別回答が難しい場合があります。