インプレス[コンピュータ・IT]ムック JavaScriptモダンプログラミング完全ガイド 堅牢なコードを効率的に開発できる!
インプレス / 2020年12月21日 / 全383ページ
本書は、JavaScript標準であるECMAScri pt 6以降に対応した、完全かつ簡潔なガイドブックです。古いバージョンについては解説をスキップし、現在のはるかに強力なモダンJavaScriptの中核技術からスタートできます。関数型/オブジェクト指向/非同期プログラミングのテクニックやヒントを本書で習得し、開発生産性の飛躍的な向上をぜひ目指してください。Java、C#、C/C++など他言語の経験者、初中級者がモダンJavaScriptを本格的に学べる一冊です。
目次
- 商標・サンプルコード・正誤表
- 献辞
- まえがき
- なぜこの本を書いたのか謝辞
- ソースコードの入手方法掲載したコード内の表記について
- 著者紹介
- 第1章 値と変数
- 1.1 JavaScriptを実行する
- 1.2 型とtypeof演算子
- 1.3 コメント1.4 変数宣言
- 1.5 識別子
- 1.6 数
- 1.7 算術演算子
- 1.8 真偽値1.9 nullとundefined
- 1.10 文字列リテラル
- 1.11 テンプレートリテラル
- 1.12 オブジェクト
- 1.13 オブジェクトリテラルの構文
- 1.14 配列
- 1.15 JSON
- 商標・サンプルコード・正誤表
- 献辞
- まえがき
- なぜこの本を書いたのか謝辞
- ソースコードの入手方法掲載したコード内の表記について
- 著者紹介
- 第1章 値と変数
- 1.1 JavaScriptを実行する
- 1.2 型とtypeof演算子
- 1.3 コメント1.4 変数宣言
- 1.5 識別子
- 1.6 数
- 1.7 算術演算子
- 1.8 真偽値1.9 nullとundefined
- 1.10 文字列リテラル
- 1.11 テンプレートリテラル
- 1.12 オブジェクト
- 1.13 オブジェクトリテラルの構文
- 1.14 配列
- 1.15 JSON
- 1.16 分割
- 1.17 高度な分割
- 演習問題
- 第2章 制御構造
- 2.1 式と文
- 2.2 セミコロンを入れる
- 2.3 分岐
- 2.4 真偽性
- 2.5 比較と等価判定
- 2.6 型の混ざった比較
- 2.7 ブール演算子
- 2.8 switch文
- 2.9 whileループとdoループ
- 2.10 各種のforループ
- 2.11 breakとcontinue
- 2.12 例外をキャッチする
- 演習問題
- 第3章 関数と関数型プログラミング
- 3.1 関数宣言
- 3.2 高階関数
- 3.3 関数リテラル
- 3.4 アロー関数
- 3.5 関数による配列処理
- 3.6 クロージャ
- 3.7 堅いオブジェクト
- 3.8 strictモード
- 3.9 引数の型をチェックする
- 3.10 引数の過多と過少
- 3.11 デフォルト引数3.12 rest(...)パラメータと展開演算子
- 3.13 分割による名前付き引数のシミュレーション
- 3.14 ホイスティング(巻き上げ)
- 3.15 例外をthrow(送出)する
- 3.16 例外をcatch(キャッチ)する
- 3.17 finally節
- 演習問題
- 第4章 オブジェクト指向プログラミング
- 4.1 メソッド
- 4.2 プロトタイプ
- 4.3 コンストラクタ
- 4.4 クラス構文
- 4.5 ゲッターとセッター
- 4.6 インスタンスフィールドとプライベートメソッド
- 4.7 static(静的)なメソッドとフィールド
- 4.8 サブクラス
- 4.9 メソッドをオーバーライドする
- 4.10 サブクラスの構築
- 4.11 class式と匿名クラス
- 4.12 this参照
- 演習問題
- 第5章 数と日付/時刻
- 5.1 数値リテラル
- 5.2 数値のフォーマット
- 5.3 数値の解析
- 5.4 Numberの関数と定数
- 5.5 Mathの関数と定数
- 5.6 「ビッグ」整数
- 5.7 Dateの構築
- 5.8 Dateの関数とメソッド
- 5.9 日付時刻のフォーマット
- 演習問題
- 第6章 文字列と正規表現
- 6.1 文字列とコードポイントシーケンスの変換
- 6.2 部分文字列
- 6.3 その他の文字列メソッド
- 6.4 タグ付きテンプレートリテラル
- 6.5 無加工(raw)のテンプレートリテラル
- 6.6 正規表現
- 6.7 正規表現リテラル
- 6.8 フラグ
- 6.9 正規表現とUnicode
- 6.10 RegExpクラスのメソッド
- 6.11 グループ
- 6.12 文字列メソッドと正規表現
- 6.13 さらに正規表現の置換について
- 6.14 ちょっと珍しい機能
- 演習問題
- 第7章 配列とコレクション
- 7.1 配列を構築する
- 7.2 lengthプロパティとインデックスプロパティ
- 7.3 要素の削除と追加
- 7.4 その他の配列ミューテータ
- 7.5 要素を生成する
- 7.6 要素を探す
- 7.7 すべての要素を訪問する
- 7.8 疎な配列
- 7.9 リダクション(還元)
- 7.10 マップ
- 7.11 セット
- 7.12 弱いマップと弱いセット
- 7.13 型付き配列
- 7.14 配列バッファ
- 演習問題
- 第8章 国際化
- 8.1 ロケールという考え方
- 8.2 ロケールを指定する
- 8.3 数の整形
- 8.4 日付と時刻のローカライズ
- 8.5 照合(コレーション)
- 8.6 ロケールに関する、その他の文字列メソッド
- 8.7 複数形の規則とリスト
- 8.8 その他のロケール機能
- 演習問題
- 第9章 非同期プログラミング
- 9.1 JavaScriptにおける並行処理
- 9.2 プロミスを作る
- 9.3 即決するプロミス
- 9.4 プロミスの結果を取得する
- 9.5 プロミスの連鎖
- 9.6 失敗の処理
- 9.7 複数のプロミスを実行する
- 9.8 プロミスの競争9.9 async関数
- 9.10 asyncの戻り値
- 9.11 コンカレントなawait
- 9.12 async関数での例外
- 演習問題
- 第10章 モジュール
- 10.1 モジュールのコンセプト10.2 ECMAScriptのモジュール
- 10.3 デフォルトのインポート
- 10.4 名前付きインポート
- 10.5 動的なインポート
- 10.6 エクスポート
- 10.7 モジュールのパッケージング
- 演習問題
- 第11章 メタプログラミング
- 11.1 シンボル
- 11.2 シンボルプロパティによるカスタマイズ
- 11.3 プロパティの属性
- 11.4 プロパティの列挙
- 11.5 プロパティの存在をチェックする
- 11.6 オブジェクトの保護
- 11.7 オブジェクトを作成または更新する11.8 プロトタイプのアクセスと更新
- 11.9 オブジェクトのクローンを作る
- 11.10 関数のプロパティ
- 11.11 引数の束縛とメソッドの呼び出し
- 11.12 プロキシ
- 11.13 Reflectクラス
- 11.14 プロキシの不変条件
- 演習問題
- 第12章 イテレータとジェネレータ
- 12.1 イテラブルな値
- 12.2 イテラブルを実装する
- 12.3 打ち切り可能なイテレータ
- 12.4 ジェネレータ
- 12.5 ネストしたyield
- 12.6 値を消費するジェネレータ
- 12.7 ジェネレータと非同期処理
- 12.8 非同期なジェネレータとイテレータ
- 演習問題
- 第13章 TypeScript入門
- 13.1 アノテーション
- 13.2 TypeScriptを実行する
- 13.3 型の用語
- 13.4 基本型
- 13.5 複合型
- 13.6 型推定
- 13.7 サブタイプ
- 13.8 クラス
- 13.9 構造的型付け
- 13.10 インターフェイス
- 13.11 インデックス付きプロパティ
- 13.12 複雑な関数パラメータ
- 13.13 ジェネリックプログラミング
- 演習問題
- 索引
- プロフィール・STAFF LIST
- 奥付
※このデジタル雑誌には目次に記載されているコンテンツが含まれています。それ以外のコンテンツは、本誌のコンテンツであっても含まれていません のでご注意ください。
※電子版では、紙の雑誌と内容が一部異なる場合や、掲載されないページがある場合があります。