__proto__とprototype
by s_hiroshi
HTML
<blockquote>
すべてのオブジェクトインスタンスは、インスタンスを生成したコンストラクタ関数のprototypeにリンクする秘密のプロパティ(__proto__)を持っています。この秘密のリンクを使ってインスタンスのコンストラクタ関数のprototypeプロパティを取得できます。
</blockquote>
<p>開眼!JavaScript 042</p>
<blockquote>
8.3 prototypeプロパティはすべてのFunction()インスタンスに自動的に付与される
</blockquote>
<p>開眼!JavaScript p111</p>
<p>ArrayやNumberもFunction()のインスタンス。
つまりすべてのコンストラクタ関数はprototypeプロパティを持つ。</p>
<p>
現在は__proto__は非推奨。<br>
Object.getPrototypeOf()を使う。<br>
ref.<br>
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/proto
</p>
JavaScript
let a = ['a', 'b', 'c']
console.log(Object.getPrototypeOf(a));
function Human(name) {
this.name = name;
}
Human.prototype.getName = function() {
return this.name;
};
var human = new Human();
console.log(Object.getPrototypeOf(human));