気ままにSE備忘録

オブジェクト

最終更新:

knowledge_library

- view
メンバー限定 登録/ログイン

オブジェクト指向


  • 継承・ポリモーフィズム・カプセル化のOOP「大三元」がない
  • すべてがオブジェクトでない
  • プロトタイプベースなのにクラスというのはおかしい

JavaScriptのオブジェクト指向


  1. var str = new String;
  2. str.split; //=>function
  3. str.split();
  • 変数strが刺すオブジェクトに対してsplitプロパティを参照する
  • strオブジェクトはsplitプロパティを保持していないので、Stringのプロトタイプを参照する
  • プロトタイプが保持するsplitプロパティの値(Functionオブジェクト)を返す
  • カッコが指定されているので、返された値を実行する

プロトタイプチェーン

プロトタイプは、クラス構造に基づいた木構造となっており、プロパティが存在しない場合は、参照しているプロトタイプをルートに向かって順番に探していく。この一連のプロトタイプのつながりを「プロトタイプチェーン」と呼ぶ

チェーン 発動タイミング 参照時に最後まで見つからない場合 更新時に最後まで見つからない場合
スコープチェーン 発動の参照と更新 例外を発生する グローバルオブジェクトに代入する
プロトタイプチェーン プロパティの参照 undefinedを返す たどられない。対象のプロパティとなる
ウィキ募集バナー