JavaScript 逆引きレシピ 第 2 版
ジャバスクリプトギャクヒキレシピダイニハン
- 著者:
- 山田 祥寛(ヤマダ ヨシヒロ)
- 注目:
- 総合 826 位
- 出版社:
- 翔泳社
- 出版日:
- 2018年10月15日頃
- ISBN:
- 9784798157573
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
JavaScript 開発必須の知識・現場のテクニックを凝縮!
本書は、実践で即役立つテクニックと開発ノウハウ、つまづきやすい・ハマりやすいポイントを徹底解説した「JavaScript を利用する Web プログラマ必携の逆引き集」です。
JavaScript (ECMAScript) の基本構文や新記法といった基礎的な知識から、オブジェクト指向、組み込みオブジェクト、関数、オブジェクト指向構文、DOM、ブラウザオブジェクトなどの定石・応用テクニック、開発に役立つツール類まで、著者の経験に基づいた実践の場で必ず役立つノウハウ、レシピを提供します。
JavaScript をいまいち使いこなせていないと感じる方や中級レベルに向けてしっかり足場固めをしたい方、JavaScript をもっと活用したい方などにおすすめの一冊です。
第 1 章 基本構文
1.1 <script>要素
1.2 基本構文
1.3 型変換 / 型判定
COLUMN:ECMAScript とは?
第 2 章 演算子 / 制御構文
2.1 演算子
2.2 制御構文
2.3 例外処理
COLUMN:ECMAScript 仕様確定までの流れ
第 3 章 組み込みオブジェクト[基本編]
3.1 数学
3.2 文字列
3.3 正規表現
COLUMN:ECMAScript の歴史
3.4 日付
3.5 Promise
3.6 その他
第 4 章 組み込みオブジェクト[Array / Set / Map 編]
4.1 配列
4.2 マップ
4.3 セット
第 5 章 関数
5.1 関数の基本
5.2 スコープ
5.3 ES2015 より前の関数構文
第 6 章 オブジェクト指向構文
6.1 オブジェクト指向構文
6.2 ES2015 より前のオブジェクト指向構文
COLUMN:ブラウザー搭載の開発者ツール (1)--基本機能
6.3 オブジェクトの操作
COLUMN:ブラウザー搭載の開発者ツール (2)--文書ツリー / スタイルシートの確認
COLUMN:ブラウザー搭載の開発者ツール (3)--JavaScript のデバッグ
第 7 章 DOM[基本編]
7.1 要素の取得
7.2 属性 / テキストの操作
7.3 フォームの操作
COLUMN:ブラウザー搭載の開発者ツール (4)--さまざまなブレイクポイント
7.4 フォーム検証
7.5 文書ツリーの操作
第 8 章 DOM[スタイル / イベント編]
8.1 スタイルの操作
8.2 イベント処理
COLUMN:ブラウザー搭載の開発者ツール (5)--コードの整形
第 9 章 ブラウザーオブジェクト[基本編]
9.1 ウィンドウ
COLUMN:JavaScript をより深く学ぶための参考書籍
9.2 コンソール
9.3 ロケーション / 履歴 / ブラウザー情報
9.4 位置情報
9.5 Web Storage & クッキー
9.6 音声 / 動画の再生
9.7 Canvas
第 10 章 ブラウザーオブジェクト[通信編]
10.1 Fetch
10.2 XMLHttpRequest
10.3 JavaScript 間の通信
COLUMN:ブラウザー搭載の開発者ツール (6)-- 通信のトレース
第 11 章 開発に役立つツール類
11.1 Node.js
11.2 Babel
11.3 webpack
11.4 ESLint
11.5 JsDoc
技書の森解説
JavaScript で「この処理はどう書くのか」を、やりたいことから引くための逆引き集が『JavaScript 逆引きレシピ 第 2 版』 (山田 祥寛 著、翔泳社、2018 年 10 月刊) です。翔泳社の PROGRAMMER'S RECIPE シリーズの 1 冊で、版元の紹介文は本書を「JavaScript を利用する Web プログラマ必携の逆引き集」と説明しています。紹介文が挙げる読者は、JavaScript を使いこなせていないと感じている人、中級に向けて足場を固めたい人、JavaScript をもっと活用したい人です。
全 11 章の構成、基本構文から開発ツールまで
第 1 章「基本構文」は script 要素の書き方、基本構文、型変換と型判定から入り、第 2 章「演算子 / 制御構文」で演算子、制御構文、例外処理を扱います。第 3 章「組み込みオブジェクト[基本編]」は数学、文字列、正規表現、日付、Promise を、第 4 章「組み込みオブジェクト[Array / Set / Map 編]」は配列、マップ、セットを取り上げます。第 5 章「関数」と第 6 章「オブジェクト指向構文」には、それぞれ「ES2015 より前の関数構文」「ES2015 より前のオブジェクト指向構文」の節も置かれています。第 7 章と第 8 章は DOM の章で、要素の取得、フォームの操作と検証、文書ツリーの操作、スタイルの操作、イベント処理を扱います。第 9 章「ブラウザーオブジェクト[基本編]」はウィンドウ、コンソール、位置情報、Web Storage とクッキー、音声と動画の再生、Canvas を、第 10 章「ブラウザーオブジェクト[通信編]」は Fetch、XMLHttpRequest、JavaScript 間の通信を収めます。最後の第 11 章「開発に役立つツール類」は Node.js、Babel、webpack、ESLint、JsDoc の 5 つの節です。章の間には、ブラウザーに搭載された開発者ツールの使い方を 6 回に分けて紹介するコラムが挟まれています。
ES2015 の前と後、二つの書き方が並ぶ理由
JavaScript の言語仕様は ECMAScript として Ecma International が ECMA-262 の名で定めており、2015 年 6 月の第 6 版 (ES2015) で、let と const によるブロック単位の変数宣言、アロー関数、class 構文、Promise、モジュールなどが加わりました。この改訂を境に同じ処理の書き方が大きく変わったため、実務で触れるコードには、var と function を中心にした古い書き方と ES2015 以降の書き方が混ざりがちです。新しい構文で書いたコードを古い実行環境でも動く形へ変換する トランスパイラ や、分割したモジュールを配信用のファイルにまとめる バンドラー が開発の工程に組み込まれたのも、この変化と結びついています。本書は第 5 章と第 6 章で ES2015 より前の構文の節を別に設け、最後の章で開発ツールを扱う作りなので、新旧の書き方が混ざったコードを読むときに両方を同じ 1 冊で引けます。
2018 年刊行の逆引き集として使うときの注意
ECMA-262 は第 6 版の後も毎年 6 月に版を改めており、本書の刊行後にも 2019 年の第 10 版から 2026 年の第 17 版まで改版が続いています。本書の構文とレシピは 2018 年 10 月の刊行時点のものなので、刊行後に加わった構文や組み込みの機能は収録されていません。第 11 章のツール類も、版の更新で設定の書き方やコマンドが変わることがあるため、使う時点の公式ドキュメントと照らし合わせて読むのが確実です。また、目次には React や Vue のようなフレームワークの章が無く、扱うのは言語と組み込みオブジェクト、ブラウザーの機能、周辺のツールです。
手元に置いて引く 1 冊を探している人へ
逆引き集は最初から通読する本ではなく、文字列の加工、配列の操作、フォームの検証、通信といった目的の節を目次や索引から開いて使う本です。JavaScript の文法を一通り学んだ後、実際に画面やフォームを作る段階で毎回検索に頼っている人や、職場のコードに古い書き方が残っていて意味を確かめたい人にとって、机の横に置いて引くたびに元が取れる 1 冊です。入門書から体系書、TypeScript までの学習の順序の中で本書の位置を確かめたい場合は、JavaScript と TypeScript の本の選び方 もあわせて参照してください。
この本に興味がある方におすすめ
関連する本
山田 祥寛 の他の書籍
関連記事
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
DevOps 本ガイド - CI/CD とインフラ自動化を学ぶ技術書の選び方
DevOps の文化と原則から CI/CD、IaC、オブザーバビリティまで学べる技術書の選び方と学習順序を紹介します。
写経を超える - 技術書のコードを自分のプロジェクトに応用する方法
技術書のサンプルコードを写経するだけでは実力は伸びません。書籍のコードを自分のプロジェクトに応用し、実務で使える力に変える 5 つのステップを解説します。
関連用語
S3 ライフサイクル
S3 オブジェクトのストレージクラスを自動的に移行し、コストを最適化する機能
エンティティと値オブジェクト
DDD における 2 つの基本的なドメインモデル要素 - 同一性で区別するエンティティと、値で区別する値オブジェクト
Flyweight パターン
多数のオブジェクト間で共有可能な状態を分離し、メモリ使用量を削減するデザインパターン
オブジェクト指向
データと操作をオブジェクトとしてまとめ、現実の概念に近づけて設計する考え方
WebAssembly
ブラウザーでネイティブに近い速度でコードを実行するバイナリ命令形式
Builder パターン
複雑なオブジェクトの生成をメソッドチェーンで段階的に構築するデザインパターン