JavaScriptモダンプログラミング完全ガイド 堅牢なコードを効率的に開発できる!
インプレス
- Cay S. Horstmann(著者)、 吉川 邦夫(翻訳)
基礎を中心に超上級レベルまでJavaScriptの理解が深まる一冊!
舞台裏も他言語との違いも分かる! 関数型/オブジェクト指向/非同期の活用、モジュールによる拡張、落とし穴の回避などを解説[基本事項を中心に、中級~超上級レベルも学べます]
本書は、JavaScript標準であるECMAScript 6以降に対応した、完全かつ簡潔なガイドブックです。古いバージョンについては解説をスキップし、現在のはるかに強力なモダンJavaScriptの中核技術からスタートできます。近年、JavaScriptプログラマーの達人たちは、エラーが発生しやすい手法を回避するために、関数型/オブジェクト指向/非同期プログラミングを積極的に採用しています。そうした最新のテクニックやヒントを本書で習得し、開発生産性の飛躍的な向上をぜひ目指してください。Java、C#、C/C++など他言語の経験者、初中級者がモダンJavaScriptを本格的に学べる一冊です。◎本書は『Modern JavaScript for the Impatient』の翻訳書です。
発売日:2020-12-21
ページ数:384ページ
目次
表紙
商標・サンプルコード・正誤表
献辞
まえがき
なぜこの本を書いたのか/謝辞
ソースコードの入手方法/掲載したコード内の表記について
著者紹介
第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
奥付
著者プロフィール
-
Cay S. Horstmann(著者)
米国サンノゼ州立大学のコンピュータサイエンス名誉教授。コンピュータ業界のカンファレンスで頻繁に講演を行っている。Javaテクノロジー/コミュニティのリーダーとして選考されたJavaチャンピオンである。著書に『Core Java, Volumes I & II, Eleventh Edition』(Pearson, 2018)、『Scala for the Impatient, Second Edition』(Addison-Wesley, 2016)、『Core Java SE 9 for the Impatient』(Addison-Wesley, 2017)などがある。
-
吉川 邦夫(翻訳)
1957年生まれ。ICU(国際基督教大学)卒。おもに制御系のプログラマとして、ソフトウェア開発に従事した後、翻訳家として独立。英文雑誌記事の和訳なども手掛ける。訳書は、Scott Meyersらによる「Effective」ソフトウェア開発シリーズ(アスキー、翔泳社)、『コンピュータアーキテクチャのエッセンス[第2版]』(翔泳社)、『Pythonデータ分析/機械学習のための基本コーディング! pandasライブラリ活用入門』(インプレス)など多数。
絶賛!発売中!
-
- シゴトがはかどる Power Automate Desktopの教科書[第2版]
- 予約 2893円
- その他言語
-
- 予約受付中
-
- Excelで学べるデータドリブン・マーケティング
- 予約 3509円
-
- 小川貴史(著者)、 (株)社会情報サービス(監修)
- Webクリエイティブ・マーケティング
-
- 予約受付中
- 運営会社
- FAQ
- お問い合わせ
- 利用規約
- オンライン販売について
- 特定商取引法に関する記載
- ゲームソフトの利用に関するガイドライン|
- 個人情報について
- PURCHASE GUIDE (ENGLISH)|
Copyright © Mynavi Publishing Corporation