この図からも、すべてのオブジェクトにプロトタイプがあることが分かります。コンストラクタ関数にもが
Foo
あり、これもまたそのプロパティを介して を参照します。したがって、繰り返しますが、はの明示的なプロパティであり、これはおよびオブジェクトのプロトタイプを参照します。__proto__
Function.prototype
__proto__
Object.prototype
Foo.prototype
Foo
b
c
var b = new Foo(20);
var c = new Foo(30);
__proto__
との違いは何ですかprototype
?
この図はdmitrysoshnikov.com。
注: 現在第2版(2017年)上記2010年の記事へ。
ベストアンサー1
__proto__
は、メソッドなどを解決するためにルックアップ チェーンで使用される実際のオブジェクトです。 は、次のオブジェクトを作成するときにprototype
構築するために使用されるオブジェクトです。__proto__
new
( new Foo ).__proto__ === Foo.prototype
( new Foo ).prototype === undefined