Prototypeの定理



1.Prototypeの概要


ユーザ情報を含むuser変数が宣言され、以下に示すようにnameおよびageの属性値を含むオブジェクトが指定される.
var user = { name: "Sue", age: 100 };
しかし、ある瞬間、userというユーザの情報の変数を使用すると、その属性値を含むオブジェクトに次のコードで示すような他の情報が追加される場合があり、新しい変数に含まれる場合がある.
var developer = { name: "Sue", age: 100, position: "frontend" };
これにより、name: "Sue", age: 100に対する重複コードが生成される.
重複するコードを見ると、重複を減らす案を考えてしまいます!🤔

JavaScriptのPrototypeの継承(継承)概念を用いることで,重複するコードを減らすことができる.


重複するコードを使用して、新しい宣言された変数にコンテンツを追加します.
以前に作成したコードを書き直し、理解します!
var user = { name: "Sue", age: 100 };

var developer = {};

developer.__proto__ = user; // {name: "Sue", age: 100}

developer.name // "Sue"

developer.age // 100

developer // {} > [[Prototype]]: Object > age: 100 name: "Sue"
developer変数には空のオブジェクトが割り当てられ、developer.__prototype__変数にはuserオブジェクトが割り当てられているため、developer変数が下部に宣言されると、user変数を持つオブジェクト情報が得られる.상속とも呼ばれています.
Console
developerには重複するオブジェクト値が含まれており、新しい値を追加するために以下のように記述することができる.
developer.position = "frontend"; // "frontend"

developer // {position: 'frontend'} > position: 'frontend' [[Prototype]]: Object > age: 100 name: "Sue"
新しい値position: 'frontend'だけでなく、親prototypeに含まれる属性name: "Sue", age: 100も使用できます.
Console

上記のオブジェクト、配列、およびその他のデータ型のプロパティおよびメソッドは、prototypeに含まれ、使用可能になります.
Prototype切替後に表示できる値

2.Prototype使用例


下図に示すように、属性とメソッドはobjというオブジェクト変数値に自動的に表示されます.
これは、前述したように、prototypeに組み込まれているか、組み込まれている.
objectの例

arrayの例

オブジェクト情報を拡張するだけでなく、定義された機能も利用できます.