• Amazonで購入

流麗なJavaScript

そろそろWebの言語を使いこなせるようになりませんか?

著者
マリン・ハーバーベーク
定価
3,520円(本体価格 3,200円)
発売日
2021年9月20日
判型/ページ数
B5変形/464
ISBN
9784802613378
備考
-

JavaScriptは、Twitterのようなソーシャルアプリケーションから、PhaserやBabylonのようなブラウザベースのゲームフレームワークまで、現代のほとんどのウェブアプリケーションの中核をなしています。JavaScriptは、初心者が手に取って遊ぶには簡単な言語ですが、本格的なアプリケーションを構築するためには柔軟で複雑な言語です。

Eloquent JavaScript』の第3版は、JavaScriptを深く掘り下げ、美しく効果的なコードを書く方法を紹介しています。また、クラス表記、アロー関数、イテレータ、非同期関数、テンプレート文字列、ブロックスコープなどの新機能を追加しました。また、多くの新しい演習問題が追加されており、スキルを確認しながら学習を進めることができます。

これまでの版と同様、Haverbekeは豊富な例題を使って学習を進め、最初からコードに没頭できるようにしています。また、演習問題や全章にわたるプロジェクトでは、自分でプログラムを書いてみることができます。まず、JavaScript言語の基本構造、制御構造、関数、データ構造を学び、基本的なプログラムを書くことができます。その後、エラー処理やバグ修正、モジュール化、非同期プログラミングなどを学び、WebブラウザとそのプログラミングにJavaScriptがどのように使われているかを学びます。人工生命シミュレーション、シンプルなプログラミング言語、ペイントプログラムなどのプロジェクトを構築しながら、以下のことを学んでいきます。

- 構文、制御、データなど、プログラミングの基本要素を理解する
- オブジェクト指向や関数型プログラミングの手法を用いて、コードを整理し、明確にする。
- ブラウザをスクリプト化し、基本的なWebアプリケーションを作成する
- DOMを効果的に使ってブラウザと対話する
- Node.jsを利用してサーバやユーティリティを構築する

ジャンル

目次

はじめに

1章 値・型・演算子
値/数値/文字列/単項演算子/boolean値/null値/自動型変換/まとめ

2章 プログラムの構造
式とステートメント/バインディング/バインディング名/環境/関数/console.log関数/戻り値/
制御フロー/条件付き実行/whileとdoのループ/コードのインデント/forループ/ループからの脱却/
バインディングの簡潔な更新/switchによる値のディスパッチ/キャピタリゼーション/コメント/まとめ/
練習問題

3章 関数
関数の定義 /バインディングとスコープ/値としての関数/宣言の表記/アロー関数/コールスタック/
任意の引数/クロージャ/リカージョン/関数の成長/関数とサイドエフェクト/まとめ/練習問題

4章 データ構造:オブジェクトと配列
ウェルス・リス/データセット/プロパティ/メソッド・オブジェクト・/ミュータビリティ/リス人間の日誌/
相関関係の計算/配列のループ/最終的な分析/さらなる配列学/文字列とそのプロパティ/
残りのパラメータ/Mathオブジェクト/分割代入/JSON/まとめ/練習問題

5章 高階関数
抽象化/繰り返しの抽象化/高階関数/スクリプトデータセット/配列のフィルタリング/mapによる変換/
reduceによる要約/コンポーザビリティ/文字列と文字コード/テキストの認識/まとめ/練習問題

6章 オブジェクトの秘密の生活
カプセル化/メソッド/プロトタイプ/クラス/クラスの表記法/派生プロパティのオーバーライド/マップ/
ポリモーフィズム/シンボル/イテレータのインターフェイス/getter、setter、そしてstatics/継承/
instanceof演算子/まとめ/練習問題

7章 プロジェクト:ロボット
メドウフィールド/課題について/永続データ/シミュレーション/郵便車のルート/経路探索/練習問題

8章 バグとエラー
言語/ストリクトモード/型/テスト/デバッグ/エラーの伝搬/例外/例外の後始末/選択的キャッチング/
アサーション/まとめ/練習問題

9章 正規表現
正規表現の作成/マッチのテスト/文字のセット/パターンの一部を繰り返す/subepressionのグループ化/
マッチとグループ/Dateクラス/単語と文字列の境界/選択肢パターン/マッチングの仕組み/バックトラック/
replaceメソッド/貪欲//RegEpオブジェクトの動的な作成/検索方法/lastIndeプロパティ/
INIファイルの解析/国際文字/まとめ/練習問題

10章 モジュール
構造物としてのモジュール/パッケージ/即席のモジュール/データをコードとして評価する/CommonJS/
ECMAScriptモジュール/ビルドとバンドル/モジュール設計/まとめ/練習問題

11章非同期プログラミング
非同期性/カラスのテクニック/コールバック/Promise/失敗/ネットワークは難しい/
Promiseのコレクション/ネットワークフラッディング/メッセージルーティング/非同期関数/
ジェネレータ/イベントループ/非同期のバグ/まとめ/練習問題

12章  プロジェクト:プログラミング言語
パーシング(構文解析)/エバリュエータ/特殊なフォーム/環境/関数/コンパイル/ズル/練習問題

13章 JavaScriptとブラウザ
ネットワークとインターネット/Web/HTML/HTMLとJavaScript/サンドボックスにおいて/
互換性とブラウザ戦争

14章 ドキュメント・オブジェクト・モデル
ドキュメント構造/ツリー/標準では/ツリーの中を移動する/要素の検索/ドキュメントの変更/ノードの作成/
属性/レイアウト/styleの指定/カスケードスタイル/クエリセレクタ/位置決めとアニメーション/
まとめ/練習問題

15章 イベント処理
イベントハンドラ/イベントとDOMノード/イベントオブジェクト/イベント伝搬(プロパゲーション)/
デフォルトアクション/キーイベント/ポインタイベント/スクロールイベント/フォーカスイベント/
ロードイベント/イベントとイベントループ/タイマー/デバウンス/まとめ/練習問題

16章 プロジェクト:プラットフォームゲーム
ゲームについて/技術について/レベルの読み込み/アクター/負担となるカプセル化/描画/
モーションとコリジョン/アクターの更新/トラッキングキー/ゲームの実行/練習問題

17章 canvasによる描画
SVG/canvas要素/線と面/パス/曲線/円グラフの描画/テキスト/画像/変形/変形の保存と消去/
ゲームに戻る/グラフィックインターフェイスの選択/まとめ/練習問題

18章 HTTPとフォーム
プロトコル/ブラウザとHTTP/fetch/HTTPのサンドボックス化/HTTPを理解する/セキュリティとHTTPS/
フォームのフィールド/フォーカス/無効化されたフィールド/フォームの全体像/テキストフィールド/
チェックボックスとラジオボタン/セレクトフィールド/ファイルフィールド/クライアントサイドでのデータ保存/
まとめ/練習問題

19章 プロジェクト:ピクセル・アート・エディター
コンポーネント/アプリケーションの状態/DOM構築/canvas/アプリケーション/描画ツール/
保存と読み込み/履歴の取り消し/描画しよう/どうしてこんなに難しいのか/練習問題

20章 Node.js
背景/nodeコマンド/モジュール/NPMによるインストール/パッケージファイル/ファイルシステムモジュール/
HTTPモジュール/ストリーム/ファイルサーバ/まとめ/練習問題

21章 プロジェクト:スキルシェアリングサイト
デザイン/ロングポーリング/HTTPインターフェイス/サーバ/クライアント/練習問題

22章 JavaScriptとパフォーマンス
段階的なコンパイル/グラフのレイアウト/グラフの定義/強制的にレイアウトする/作業を避ける/
プロファイリング/関数のインライニング/ゴミを減らす/ガベージコレクション/ダイナミックタイプ/
まとめ/練習問題

練習問題のヒント
2章 プログラムの構造/3章 関数/4章 データ構造:オブジェクトと配列/5章 高階関数/
6章 オブジェクトの秘密の生活/7章 プロジェクト:ロボット/8章 バグとエラー/9章 正規表現/
10章 モジュール/11章 非同期プログラミング/12章 プロジェクト:プログラミング言語/
14章 ドキュメント・オブジェクト・モデル/15章 イベント処理/16章 プロジェクト:プラットフォームゲーム/
17章 canvasによる描画/18章 HTTPとフォーム/19章 プロジェクト:ピクセル・アート・エディター/
20章 Node.js/21章  プロジェクト:スキル共有サイト/22章 JavaScriptとパフォーマンス

この書籍の購入

  • Amazonで購入する