Follow #ソシム販売部Twitterアイコン

 

流麗な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とパフォーマンス

お問い合わせ

本書に関するお問い合わせは、下記のボタンをクリックしてお問い合わせフォームよりお問い合わせください。

この書籍を問い合わせる

[ この書籍をシェアする ]

新刊から本を探す

もっと見る

カテゴリから本を探す

シリーズから本を探す

本を探す