JavaScript勉強会

JavaScriptの学習日記

Effective JavaScript 【目次】

JavaScriptの学習で、「Effective JavaScript」という本を読んでみます。

 

Effective JavaScript

Effective JavaScript

 

 

 

目次

第1章 JavaScriptに慣れ親しむ

項目1 どのJavaScriptを使っているのかを意識しよう
項目2 JavaScript浮動小数点数を理解しよう
項目3 暗黙の型変換に注意しよう
項目4 オブジェクトラッパーよりもプリミティブが好ましい
項目5 型が異なるときに==を使わない
項目6 セミコロン挿入の限度を学ぼう
項目7 文字列は16ビットの符号単位を並べたシーケンスとして考えよう

 

第2章 変数のスコープ

項目8 グローバルオブジェクトを使うのは、最小限にとどめる
項目9 ローカル変数は、かならず宣言しよう
項目10 withは避けよう
項目11 クロージャと仲良くしよう
項目12 変数の巻き上げ(ホイスティング)を理解する
項目13 ローカルスコープを作るには即時関数式(IIFE)を使おう
項目14 名前付き関数式のスコープは可搬性がないので注意しよう
項目15 ブロックローカルな関数宣言のスコープも可搬性がないので注意しよう
項目16 evalでローカル変数を作らない
項目17 直接evalより、間接evalが好ましい

 

第3章 関数の扱い

項目18 関数、メソッド、コンストラクタの、呼び出しの違いを理解する
項目19 高階関数を快適に使えるようになろう
項目20 カスタムレシーバ付きでメソッドを呼びだすにはcallを使う
項目21 いくつでも引数をとれる関数を呼び出すにはapplyを使おう
項目22 可変長引数関数を作るには、argumentsを使う
項目23 argumentsオブジェクトを書き換えない
項目24 argumentsへのリファレンスは変数に保存する
項目25 固定レシーバを持つメソッドを抽出するにはbindを使う
項目26 関数をカリー化するには、bindを使う
項目27 コードをカプセル化するには、文字列ではなくクロージャを使う
項目28 関数のtoStringメソッドに依存するのは避けよう
項目29 非標準のスタック調査プロパティを使うのは避けよう

 

第4章 オブジェクトとプロトタイプ

項目30 prototype、getPrototypeOf、__proto__の違いを理解する
項目31 __proto__よりもObject.getPrototypeOfが好ましい
項目32 __proto__は決して変更しないこと
項目33 newに依存しないコンストラクタの作り方
項目34 メソッドをプロトタイプに格納しよう
項目35 プライベートデータの格納にはクロージャを使おう
項目36 インスタンスの状態は、インスタンスオブジェクトにだけ保存する
項目37 thisの暗黙的な結合を理解しよう
項目38 スーパークラスのコンストラクタは、サブクラスのコンストラクタから呼び出す
項目39 スーパークラスのプロパティ名は、決して再利用しない
項目40 標準クラスからの継承を避ける
項目41 プロトタイプを「実装の詳細」として扱おう
項目42 やみくもなモンキーパッチを避ける

 

第5章 配列とディクショナリ

項目43 軽量ディクショナリはObjectの直接インスタンスから構築しよう
項目44 プロトタイプ汚染を予防するために、nullプロトタイプを使う
項目45 プロトタイプ汚染を防御するためにhasOwnPropertyを使う
項目46 順序を持つコレクションには、ディクショナリではなく配列を使おう
項目47 Object.prototypeには、列挙されるプロパティを決して追加しない
項目48 列挙の実行中にオブジェクトを変更しない
項目49 配列の反復処理には、for...inループではなく、forループを使おう
項目50 複数のループよりも反復メソッドが好ましい
項目51 「配列のようなオブジェクト」にも、総称的な配列メソッドを再利用できる
項目52 配列コンストラクタよりも配列リテラルのほうが好ましい

 

第6章 ライブラリとAPI設計

項目53 一貫した規約を維持しよう
項目54 undefinedは「値なし」として扱う
項目55 オプションオブジェクトで、キーワード付き引数群を受け取ろう
項目56 不必要な状態を排除する
項目57 柔軟なインターフェイスのために、構造的な型付けを使う
項目58 配列と「配列のようなもの」を区別しよう
項目59 過剰な型強制を防ごう
項目60 メソッドチェーンをサポートしよう

 

第7章 並行処理

項目61 イベントキューを入出力待ちでブロックしてはならない
項目62 非同期シーケンスには、ネストした(または名前付きの)コールバックを使う
項目63 エラーの取りこぼしに注意
項目64 非同期ループには再帰関数を使おう
項目65 イベントキューを計算でブロックさせない
項目66 カウンタを使って並行処理を管理する
項目67 非同期コールバックを同期的に呼び出してはいけない
項目68 プロミスを使って非同期ロジックを明快にする

 

出版社情報

正誤表など

 

www.shoeisha.co.jp

 

著者紹介

twitter.com

 

effectivejs.com