JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング【PDF版】

翔泳社(出版社) , 吉川邦夫(訳) , Bear Bibeault(著) , John Resig(著)

商品番号
134250
販売状態
発売中
納品形態
会員メニューよりダウンロード
発売日
2017年05月16日
ISBN
9784798134253
データサイズ
約12.3MB
制限事項
印刷可・テキストのコピー可
キーワード
プログラミング  CodeZine  JavaScript  電子書籍【PDF版】

販売価格:¥3,672(税込)

ポイント:340pt (10%)
詳細はこちら

送料無料 在庫あり

紙の書籍を見る
ほしい物リストに追加
  • 本製品は電子書籍【PDF版】です。
  • ご購入いただいたPDFには、購入者のメールアドレス、および翔泳社独自の著作権情報が埋め込まれます。
  • 本製品を無断で複製、転載、譲渡、共有および販売を行った場合、法律により罰せられる可能性がございます。
  • ご購入の前に必ずこちらをお読みください。

jQueryの開発者が語ったプログラミングの秘密

JavaScriptは現在のホームページ作りには欠かせないプログラミング言語です。GoogleやFacebookなどの先進のWebアプリケーションはjQueryなどのJavaScriptライブラリを利用して作られていますが、本書はjQueryの開発者であるジョン・レシグが自ら書き起こしたJavaScriptの開発技法書です。

JavaScript言語の各種機能の利用方法から、バグ発見の方法、複数ブラウザへの対応方法まで、JavaScript開発者垂涎のテクニックをふんだんに盛り込みました。「Ninja」とは英語圏ではエキスパートやスーパープログラマの意味で使われる言葉です。本書では“モダンJavaScript開発”における一流プログラマの知識をまとめています。

PDF版のご利用方法

  1. ご購入後、SEshopにログインし、会員メニューに進みます。
  2. ご購入電子書籍およびデータ > [ご購入電子書籍およびダウンロードデータ一覧]をクリックします。
  3. 購入済みの電子書籍のタイトルが表示されますので、リンクをクリックしてダウンロードしてください。
  4. PDF形式のファイルを、お好きな場所に保存してください。
  5. 端末の種類を問わず、ご利用いただけます。

Part1 訓練の準備

第1章 忍者入門

1.1 本書で手本とするJavaScript ライブラリ
1.2 JavaScript 言語を理解する
1.3 クロスブラウザ性に関する配慮
1.4 現在のベストプラクティス
1.4.1 現在のベストプラクティス:テスト
1.4.2 現在のベストプラクティス:性能分析
1.5 まとめ

第2章 テストとデバッグの装備

2.1 コードをデバッグする
2.1.1 ロギング
2.1.2 ブレークポイント
2.2 テスト生成
2.3 テストフレームワーク
2.3.1 QUnit
2.3.2 YUI Test
2.3.3 JsUnit
2.3.4 新しい単体テストフレームワーク
2.4 テストスイートの基礎
2.4.1 アサート
2.4.2 テストグループ
2.4.3 非同期テスト
2.5 まとめ

Part2 基礎訓練

第3章 関数が肝心

3.1 JavaScript の関数は、どこが違うのか
3.1.1 JavaScript の関数的な性質が、なぜ重要なのか?
3.1.2 コンパレータによる比較
3.2 関数の宣言
3.2.1 スコープと関数
3.3 関数の呼び出し
3.3.1 引数から関数のパラメータへ
3.3.2 関数としての呼び出し
3.3.3 メソッドとしての呼び出し
3.3.4 コンストラクタとしての呼び出し
3.3.5 apply()およびcall()メソッドによる呼び出し
3.4 まとめ

第4章 関数を使いこなす

4.1 無名関数
4.2 再帰
4.2.1 名前付き関数での再帰
4.2.2 メソッドによる再帰
4.2.3 「参照泥棒」の問題
4.2.4 インラインの名前付き関数
4.2.5 calleeプロパティ
4.3 オブジェクトとしての関数
4.3.1 関数群を収納する
4.3.2 自分をメモ化する関数
4.3.3 配列メソッドをだまして使う
4.4 可変長引数リスト
4.4.1 apply()を使って様々な数の引数を供給する
4.4.2 関数の多重定義
4.5 関数かどうかをチェックする
4.6 まとめ

第5章 クロージャ

5.1 クロージャの仕組み
5.2 クロージャを利用する
5.2.1 プライベート変数
5.2.2 コールバックとタイマ
5.3 呼び出しコンテクストをバインドする
5.4 関数の部分適用
5.5 関数の振る舞いをオーバーライドする
5.5.1 メモ化
5.5.2 関数のラッピング
5.6 即時関数
5.6.1 一時的なスコープとプライベート変数
5.6.2 ループ
5.6.3 ライブラリのラッピング
5.7 まとめ

第6章 プロトタイプによるオブジェクト指向

6.1 実体化とプロトタイプ
6.1.1 オブジェクトの実体化
6.1.2 コンストラクタ経由で行われるオブジェクトの「型付け」と逆参照
6.1.3 継承とプロトタイプチェーン
6.1.4 HTML DOM のプロトタイプ
6.2 落とし穴に注意!
6.2.1 オブジェクトの拡張
6.2.2 Numberの拡張
6.2.3 ネイティブオブジェクトを継承する
6.2.4 実体化の問題
6.3 クラスに似たコードを書く
6.3.1 関数シリアライズの可能性をチェックする
6.3.2 サブクラスの初期化
6.3.3 「スーパーメソッド」を保存する
6.4 まとめ

第7章 正規表現

7.1 正規表現のエレガンス
7.2 正規表現の概要
7.2.1 正規表現の説明
7.2.2 項と演算子
7.3 正規表現のコンパイル
7.4 マッチした部分をキャプチャする
7.4.1 単純なキャプチャを実行する
7.4.2 グローバル正規表現によるマッチ
7.4.3 キャプチャを参照する
7.4.4 キャプチャしないグループ
7.5 置換関数を使う
7.6 一般的な諸問題を正規表現で解決する
7.6.1 文字列のトリミング
7.6.2 改行とのマッチ
7.6.3 Unicode
7.6.4 エスケープされた文字
7.7 まとめ

第8章 スレッドとタイマの扱い方

8.1 タイマとスレッドの仕組み
8.1.1 タイマの設定とクリア
8.1.2 スレッド内でのタイマの実行
8.1.3 単発タイマとインターバルタイマの違い
8.2 タイマの最小遅延値と確実性
8.3 計算コストが高い処理に対処する
8.4 タイマの集中管理
8.5 非同期テスト
8.6 まとめ

Part3 忍術修行

第9章 実行時のコード評価

9.1 コード評価機構
9.1.1 eval()メソッドによる評価
9.1.2 Functionコンストラクタを介しての評価
9.1.3 タイマによる評価
9.1.4 グローバルスコープでの評価
9.1.5 安全なコード評価
9.2 関数の「逆コンパイル」
9.3 コード評価の実践
9.3.1 JSON を変換する
9.3.2 名前空間を持つコードをインポートする
9.3.3 JavaScript の圧縮と難読化
9.3.4 コードの動的な改訂
9.3.5 アスペクト指向のスクリプトタグ
9.3.6 メタ言語とDSL
9.4 まとめ

第10章 with文

10.1 with文の効用
10.1.1 withスコープ内でのプロパティ参照
10.1.2 withスコープ内での代入
10.1.3 性能上の注意事項
10.2 実例
10.3 名前空間を持つコードをインポートする
10.4 テスト
10.5 withによるテンプレーティング
10.6 まとめ

第11章 クロスブラウザ開発の戦略

11.1 サポートするブラウザの選択
11.2 開発で主に考慮すべき5 つの事項
11.2.1 ブラウザのバグと相違
11.2.2 ブラウザのバグ修正
11.2.3 外部のコードやマークアップとの共存
11.2.4 欠けている機能
11.2.5 リグレッション
11.3 実装の戦略
11.3.1 安全なクロスブラウザ修正
11.3.2 オブジェクト検出
11.3.3 機能シミュレーション
11.3.4 テストできないブラウザの問題
11.4 想定を切り詰める
11.5 まとめ

第12章 属性、プロパティ、CSS の難関を突破する

12.1 DOM における属性とプロパティ
12.1.1 名前のクロスブラウザ性
12.1.2 命名の制限
12.1.3 HTML とXML の違い
12.1.4 カスタム属性の振る舞い
12.1.5 性能に対する配慮
12.2 属性のクロスブラウザ問題
12.2.1 DOM におけるID/名前の増殖
12.2.2 URL の正規化
12.2.3 style属性
12.2.4 type属性
12.2.5 タブインデックス問題
12.2.5 ノード名
12.3 スタイル属性の注意点
12.3.1 スタイルはどこに記録されるか
12.3.2 スタイルプロパティの命名
12.3.3 floatのスタイルプロパティ
12.3.4 ピクセル値の変換
12.3.5 高さと幅の寸法
12.3.6 要素の不透明度
12.3.7 色の様々な表現
12.4 算出スタイルを取り出す
12.5 まとめ

Part4 熟練の技

第13章 イベント処理

13.1 イベントハンドラの結合と解除
13.2 Eventオブジェクト
13.3 ハンドラ管理
13.3.1 関連情報を集中管理する
13.3.2 イベントハンドラの管理
13.4 イベントをトリガする
13.4.1 カスタムイベント
13.5 バブリングと委譲
13.5.1 イベントを先祖要素に委譲する
13.5.2 ブラウザの欠陥を回避する
13.6 文書の「レディ」イベント
13.7 まとめ

第14章 DOM 操作

14.1 DOMにHTML を注入する
14.1.1 HTML をDOM に変換する
14.1.2 ドキュメントに挿入する
14.1.3 スクリプトの実行
14.2 要素を複製する
14.3 要素を削除する
14.4 テキスト内容
14.4.1 テキストを設定する
14.4.2 テキストを取得する
14.5 まとめ

第15章 CSS セレクタエンジン

15.1 W3CのセレクタAPI
15.2 XPath を使って要素を探す
15.3 純粋なDOM による実装
15.3.1 セレクタを解析する
15.3.2 要素を見つける
15.3.3 結果の集合をフィルタにかける
15.3.4 再帰とマージ
15.3.5 ボトムアップ式のセレクタエンジン
15.4 まとめ

各種問い合わせは以下のリンクからご連絡ください

関連商品

入門Haskellプログラミング

販売価格:4,104円(税込)

2019.07.31発売

対人援助の現場で使える 質問する技術 便利帖【PDF版】

販売価格:1,944円(税込)

2019.07.16発売

IT Service Management教科書 JP1認定エンジニア V12対応【PDF版】

販売価格:3,456円(税込)

2019.07.16発売

おすすめ特集

今月のクーポン

翔泳社の通販SEshopなら全品送料無料、ポイント還元、さらに毎月更新の割引クーポンでお得!

アジャイル・スクラム関連本特集

アジャイル・スクラム入門書からプロフェッショナル向け開発書、チームマネジメント論まで。

Python特集

【今からはじめるPython特集】おすすめ本を入門~上級までレベル別にご紹介!

情報処理教科書シリーズ

情報処理技術者試験におすすめの参考書「EXAMPRESS 情報処理教科書シリーズ」で最短合格!

起業に役立つ技術書特集

【起業に役立つ技術書特集】Webサービスを始め、副業やスモールビジネスにオススメの技術書をご案内。

「みんなの日記」シリーズ特集

いつもの家事、暮らし。少し変えるだけで、もっと楽しくなる!「みんなの日記」シリーズ特集。

特集をもっと見る