JavaScript: The Good Parts

「良いパーツ」によるベストプラクティス

1,980円
Ebook Storeで電子版を購入:
価格1,980円
カートに入れる

内容

「JavaScriptは言わばひとかたまりの大理石であり、私はその中からこの言語のすばらしい本質が現れるまで、美しくない機能を取り除いていく。最終的に私が削り出すことになる美しいサブセットは、より信頼でき、読みやすく、メンテナンスがしやすく、すべてにおいて非常に優れた言語になると私は信じている。」(「1章 良いパーツ」より)――本書は、JavaScript言語の「良いパーツ」に注目し、良質なコードを書くためのポイントを示唆する書籍です。「良いパーツ」を通してJavaScriptを再評価することで、見落とされていたJavaScript言語の本質が見えてきます。

関連書籍

目次

目次

訳者まえがき
はじめに

1章 良いパーツ
    1.1 なぜJavaScriptなのか?
    1.2 JavaScriptを解析する
    1.3 プログラムをテストする簡単な方法

2章 文法
    2.1 ホワイトスペース
    2.2 名前
    2.3 数値
    2.4 文字列
    2.5 命令文
    2.6 式
    2.7 リテラル
    2.8 関数

3章 オブジェクト
    3.1 オブジェクトリテラル
    3.2 値の取得
    3.3 値の更新
    3.4 参照
    3.5 プロトタイプ
    3.6 リフレクション
    3.7 プロパティの列挙
    3.8 プロパティの削除
    3.9 グローバル領域の利用を減らす

4章 関数
    4.1 Functionオブジェクト
    4.2 関数リテラル
    4.3 関数の呼び出し
    4.3.1 メソッド呼び出しパターン
    4.3.2 関数呼び出しパターン
    4.3.3 コンストラクタ呼び出しパターン
    4.3.4 apply呼び出しパターン
    4.4 引数
    4.5 戻り値
    4.6 例外
    4.7 変数型の拡張
    4.8 再帰
    4.9 スコープ
    4.10 クロージャ
    4.11 コールバック
    4.12 モジュール
    4.13 カスケード
    4.14 カリー化
    4.15 メモ化

5章 継承
    5.1 疑似クラス型
    5.2 オブジェクト指定子
    5.3 プロトタイプ型
    5.4 関数型
    5.5 オブジェクトのパーツ

6章 配列
    6.1 配列リテラル
    6.2 配列の長さ
    6.3 要素の削除
    6.4 要素の列挙
    6.5 配列かどうかの判定
    6.6 配列のメソッド
    6.7 次元

7章 正規表現
    7.1 正規表現の例
    7.2 正規表現の構築
    7.3 正規表現の構成要素
        7.3.1 選択肢
        7.3.2 正規表現シーケンス
        7.3.3 正規表現因子
        7.3.4 エスケープ
        7.3.5 正規表現グループ
        7.3.6 正規表現クラス
        7.3.7 正規表現クラスにおけるエスケープ
        7.3.8 数量詞

8章 メソッド
    Array
        array.concat( item... )
        array.join( separator )
        array.pop( )
        array.push( item... )
        array.reverse( )
        array.shift( )
        array.slice( start, end )
        array.sort( comparefn )
        array.splice( start, deleteCount, item... )
        array.unshift(item...)
    Function
        function.apply( thisArg, argArray )
    Number
        number.toExponential( fractionDigits )
        number.toFixed( fractionDigits )
        number.toPrecision( precision )
        number.toString( radix )
    Object
        object.hasOwnProperty( name )
    RegExp
        regexp.exec( string )
        regexp.test( string )
    String
        string.charAt( pos )
        string.charCodeAt( pos )
        string.concat( string... )
        string.indexOf( searchString, position )
        string.lastIndexOf( searchString, position )
        string.localeCompare( that )
        string.match( regexp )
        string.replace( searchValue, replaceValue )
        string.search( regexp )
        string.slice( start, end )
        string.split( separator, limit )
        string.substring( start, end )
        string.toLocaleLowerCase( )
        string.toLocaleUpperCase( )
        string.toLowerCase( )
        string.toUpperCase( )
        String.fromCharCode( char... )

9章 スタイル

10章 美しい機能たち

付録A ひどいパーツ
    A.1 グローバル変数
    A.2 スコープ
    A.3 セミコロン挿入
    A.4 予約語
    A.5 ユニコード
    A.6 typeof
    A.7 parseInt
    A.8 +
    A.9 浮動小数
    A.10 NaN
    A.11 偽の配列
    A.12 Falsyな値
    A.13 hasOwnProperty
    A.14 オブジェクト

付録B 悪いパーツ
    B.1 ==
    B.2 with文
    B.3 eval
    B.4 continue文
    B.5 switch 文での処理の継続
    B.6 ブロックなしの文
    B.7 ++ --
    B.8. ビット演算子
    B.9 function文とfunction式の比較
    B.10 変数型のラッパーオブジェクト
    B.11 new
    B.12 void

付録C JSLint
    C.1 定義されていない変数と関数
    C.2 メンバ名
    C.3 オプション
    C.4 セミコロン
    C.5 改行
    C.6 コンマ
    C.7 ブロックの利用の強制
    C.8 許可されないブロック
    C.9 式文
    C.10 for in 文
    C.11 switch文
    C.12 var文
    C.13 with文
    C.14 =
    C.15 == と !=
    C.16 ラベル
    C.17 実行されないコード
    C.18 混乱を招く正負記号
    C.19 ++ と --
    C.20 ビット演算子
    C.21 evalは邪悪である
    C.22 void
    C.23 正規表現
    C.24 コンストラクタとnew
    C.25 JSLintがしないこと
    C.26 HTML
    C.27 JSON
    C.28 レポート

付録D 鉄道ダイアグラム

付録E JSON
    E.1 JSONの文法
    E.2 安全にJSONを利用する
    E.3 JSONパーサ

索引

正誤表

関連ファイル