JavaScript入門

JavaScriptはHTMLとともにブラウザで実行できるし、Node.jsを使えばLinuxシェルでもお手軽に実行できる。関数の定義方法が様々あるなど柔軟な言語。


はじめに

  1. JavaScriptの意味が広がっていて

オブジェクト

  1. var宣言は同じスコープで再宣言可能
  2. スコープの基礎
  3. グローバルオブジェクト
  4. ブラウザのトップレベルでvar宣言するとグローバルオブジェクト
  5. グローバル変数でもscriptタグの順番に注意
  6. グローバルオブジェクトの一覧
  7. ブラウザのトップレベルスコープでのthisはグローバルオブジェクト

関数

関数の定義方法

  1. 10種類の定義方法
  2. 関数のようなアクセサ
  3. 関数宣言
  4. 関数式
  5. アロー関数
  6. クラス宣言
  7. クラス式
  8. ジェネレータ宣言
  9. ジェネレータ式
  10. メソッド簡易記法
  11. Functionコンストラクタ
  12. GeneratorFunctionコンストラクタ

スコープ

  1. 関数スコープの基本
  2. 宣言前の参照と関数スコープ
  3. 入れ子の関数
  4. 入れ子の関数とスコープ

関数とオブジェクト

  1. 関数はオブジェクト
  2. 関数かどうか判定

引数

  1. 実引数の数はチェックされない
  2. 実引数の数はarguments.length
  3. 仮引数のデフォルト値
  4. 仮引数のデフォルト値に変数や式、関数も指定できる
  5. 可変長引数は「...仮引数」で配列
  6. オブジェクト分割代入による仮引数
  7. オブジェクト分割代入による仮引数にデフォルト値
  8. オブジェクト分割代入でも関数をデフォルト値にできる
  9. 仮引数の操作が実引数に影響しないケース
  10. 仮引数の操作が実引数に影響するケース
  11. 仮引数のプロパティを変更するとどうなるか
  12. 仮引数の破壊的メソッドは実引数に反映

戻り値

  1. returnで戻り値を指定
  2. return指定がなければundefinedが戻り値
  3. 1行アロー関数はreturnなくてもその式の値が戻る
  4. 戻り値をオブジェクト分割代入
  5. 戻り値を配列分割代入
  6. 戻り値が関数
  7. クロージャ関数
  8. クロージャメソッド

再帰関数

  1. 再帰関数の基本
  2. 再帰できる回数には限度がある
  3. 再帰の限界(コールスタックサイズ)を超えたり超えなかったりする例
  4. 再帰関数をループで書き換える例

コールバック

  1. 関数を引数として渡す
  2. コールバック関数の実行タイミング
  3. コールバックを匿名関数にする
  4. コールバックへの引数
  5. 引数なしのコールバック実行に引数を渡すなら入れ子
  6. ビルトイン関数のコールバック例

    1. setTimeout()
    2. 配列.filter()
  7. コールバックの戻り値を利用する関数
  8. コールバック地獄

関数とthis

  1. strictモード、コンテキストで違うthis
  2. 関数内でのthisはモードで違う
  3. アロー関数の中と外のthisは同じ
  4. アロー関数とただの関数でthisの違い
  5. メソッドでのthis
  6. 深い階層のメソッドでのthis
  7. callやapplyメソッド経由でのthis

オブジェクト指向