オブジェクト指向JavaScriptの原則

[cover photo]
TOPICS
Web , JavaScript
発行年月日
PRINT LENGTH
200
ISBN
978-4-87311-681-5
原書
The Principles of Object-Oriented JavaScript
FORMAT
PDF
Ebook
2,640円
Ebookを購入する

本書はJavaScriptが持つオブジェクト指向的な言語特性や、その特性を強力にサポートするECMAScript 5の機能を紹介し、それらの特性や機能を活かすプログラミングの方法、考え方、パターンについて、深くそして簡潔に解説する書籍です。本書を通じて、C++やJavaなど「クラスベースのオブジェクト指向言語」に慣れたプログラマはJavaScript特有のクラスを持たないオブジェクト指向プログラミングの世界への知識を得ることができ、JavaScriptプログラマはJavaScriptのオブジェクトに関する理解をさらに深めることができるでしょう。JavaScriptのオブジェクトを自由自在に扱い、より効果的なプログラミングを行いたいすべてのプログラマ必携の一冊です。

目次

まえがき
訳者まえがき
はじめに
ECMAScript 5について

1章 プリミティブ型と参照型
    1.1 データ型とは何か?
    1.2 プリミティブ型
        1.2.1 プリミティブ型のデータ型を判定する
        1.2.2 プリミティブ型のメソッド
    1.3 参照型
        1.3.1 オブジェクトの生成
        1.3.2 オブジェクト参照の解除
        1.3.3 プロパティの追加と削除
    1.4 ビルトインのデータ型をインスタンス化
        1.4.1 リテラル
        1.4.2 関数リテラル
        1.4.3 正規表現リテラル
    1.5 プロパティへのアクセス
    1.6 参照型のデータ型を判定する
    1.7 配列の判定
    1.8 プリミティブラッパー型
    1.9 まとめ

2章 関数
    2.1 関数宣言vs関数式
    2.2 値としての関数
    2.3 パラメータ
    2.4 オーバーロード
    2.5 オブジェクトメソッド
        2.5.1 thisオブジェクト
        2.5.2 thisの値を操作する
    2.6 まとめ

3章 オブジェクト
    3.1 プロパティの定義
    3.2 プロパティの存在確認
    3.3 プロパティの削除
    3.4 列挙
    3.5 データプロパティとアクセサプロパティ
    3.6 プロパティの属性
        3.6.1 共通属性([[Enumerable]]と[[Configurable]])
        3.6.2 データプロパティの属性([[Value]]と[[Writable]])
        3.6.3 アクセサプロパティの属性([[Get]]と[[Set]])
        3.6.4 複数のプロパティを一度に定義
        3.6.5 プロパティ属性を取得
    3.7 オブジェクトの変更防止
        3.7.1 拡張防止
        3.7.2 シール
        3.7.3 フリーズ
    3.8 まとめ

4章 コンストラクタとプロトタイプ
    4.1 コンストラクタ
    4.2 プロトタイプ
        4.2.1 [[Prototype]]プロパティ
        4.2.2 コンストラクタと一緒にプロトタイプを使用する
        4.2.3 プロトタイプを変更
        4.2.4 ビルトインオブジェクトのプロトタイプ
    4.3 まとめ

5章 継承
    5.1 プロトタイプチェーンとObject.prototype
        5.1.1 Object.prototypeから継承するメソッド
        5.1.2 Object.prototypeを変更するということ
    5.2 オブジェクト継承
        5.2.1 白紙オブジェクト
    5.3 コンストラクタ継承
    5.4 コンストラクタの借用
    5.5 スーパータイプのメソッドにアクセス
    5.6 まとめ

6章 オブジェクトのパターン
    6.1 プライベートメンバと特権メンバ
        6.1.1 モジュールパターン
        6.1.2 コンストラクタのプライベートメンバ変数
    6.2 Mixin
        6.2.1 アクセサプロパティのMixinは要注意
    6.3 スコープセーフなコンストラクタ
    6.4 まとめ

付録A Strictモード
    A.1 Strictモードを有効にする
    A.2 Strictモードの動作と制限
        A.2.1 グローバルオブジェクトへの暗黙的なプロパティ追加の禁止(var忘れ防止)
        A.2.2 thisの暗黙的な変換が発生しない
        A.2.3 暗黙的な操作失敗がエラーに
        A.2.4 argumentsに関する変更と制限
        A.2.5 8進数リテラルの禁止
        A.2.6 evalコードが独自のスコープで動作
        A.2.7 ブロック内の関数文の禁止
        A.2.8 withの禁止

索引