プロトタイプ
JavaScriptでは、関数のデータ型が定義されると、その関数のプロトタイプ・オブジェクトを指すprototype属性が定義されます。
コンストラクターとインスタンス・プロトタイプの関係を図で表しましょう:
プロトタイプオブジェクトは、パブリック領域に相当し、同じクラスのすべてのインスタンスは、このプロトタイプオブジェクトにアクセスすることができ、共通のコンテンツをオブジェクトにすることができ、プロトタイプオブジェクトに設定統一。
プロトタイプチェーン
JavaScriptではすべてがオブジェクトであり、オブジェクトとオブジェクトの間に関係があり、分離して存在しません。オブジェクト間の継承関係は、JavaScriptではプロトタイプオブジェクトを介して親クラスオブジェクトを指すように、オブジェクトオブジェクトを指すようになるまで、プロトタイプの形成がチェーンを指すように、専門用語は、プロトタイプチェーンと呼ばれています。
例:人 → 人 → 物 、普通の人は人間から継承、人間は物クラスから継承
オブジェクトのプロパティやメソッドにアクセスする場合、まずオブジェクト自体の中から探し、利用可能であれば直接利用します。利用可能でなければ、プロトタイプオブジェクトの中から探し、利用可能であれば直接利用します。そうでない場合は、Objectオブジェクトのプロトタイプを見つけるまで、プロトタイプのプロトタイプを探しに行きますが、Objectオブジェクトのプロトタイプにはプロトタイプがありません。
フロントエンドの辞書継承 - プロトタイプ・チェイニング あなたは本当に理解していますか?
ペッパピッグとJavascriptのプロトタイプとプロトタイプチェーン